码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Nginx 配置Nextjs和SpringBoot项目的https并解决跨域问题


    目录

    一、Nginx配置文件

    二、跨域解决


    一、Nginx配置文件

    1. # 禁止ip访问
    2. server {
    3. ssl_certificate /ssl/xloda.com_cert_chain.pem;
    4. ssl_certificate_key /ssl/xloda.com_key.key;
    5. ssl_session_cache shared:SSL:1m;
    6. ssl_session_timeout 5m;
    7. ssl_ciphers HIGH:!aNULL:!MD5;
    8. ssl_prefer_server_ciphers on;
    9. listen 80 default_server;
    10. listen 443 ssl default_server;
    11. server_name _;
    12. #强制将http的URL重写成https
    13. return 301 https://xloda.com$request_uri;
    14. }
    15. server {
    16. listen 80;
    17. # д ֤
    18. server_name xloda.com;
    19. #charset koi8-r;
    20. # access_log logs/host.access.log main;
    21. #ǿ ƽ http URL д https
    22. return 301 https://$host$request_uri;
    23. }
    24. # HTTPS server
    25. #
    26. server {
    27. listen 443 ssl;
    28. server_name xloda.com;
    29. ssl_certificate /ssl/xloda.com_cert_chain.pem;
    30. ssl_certificate_key /ssl/xloda.com_key.key;
    31. ssl_session_cache shared:SSL:1m;
    32. ssl_session_timeout 5m;
    33. ssl_ciphers HIGH:!aNULL:!MD5;
    34. ssl_prefer_server_ciphers on;
    35. location /qiniu/ {
    36. add_header 'Access-Control-Allow-Origin' $http_origin;
    37. add_header 'Access-Control-Allow-Credentials' 'true';
    38. add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS,PUT,PATCH,DELETE,HEAD';
    39. add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
    40. add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    41. if ($request_method = 'OPTIONS') {
    42. add_header 'Access-Control-Max-Age' 1728000;
    43. add_header 'Content-Type' 'text/plain; charset=utf-8';
    44. add_header 'Content-Length' 0;
    45. return 204;
    46. }
    47. proxy_pass http://qiniu.xloda.com/;
    48. }
    49. location / {
    50. root /www/wwwroot/out;
    51. index index.html index.htm;
    52. try_files $uri $uri.html $uri/ =404;
    53. rewrite ^//(.*)$ //$1.html break;
    54. }
    55. error_page 404 /404.html;
    56. location = /404 {
    57. internal;
    58. }
    59. }

    二、跨域解决

    起初配置了https的前端是不能正常访问http的后端的,于是我将后端项目也配置成了https,后端数据问题得以解决,但这里的OSS为七牛云绑定的http链接,图片资源还是会报错,于是我采用了代理加跨域允许的方式解决了该问题。

    1. location /qiniu/ {
    2. add_header 'Access-Control-Allow-Origin' $http_origin;
    3. add_header 'Access-Control-Allow-Credentials' 'true';
    4. add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS,PUT,PATCH,DELETE,HEAD';
    5. add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
    6. add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    7. if ($request_method = 'OPTIONS') {
    8. add_header 'Access-Control-Max-Age' 1728000;
    9. add_header 'Content-Type' 'text/plain; charset=utf-8';
    10. add_header 'Content-Length' 0;
    11. return 204;
    12. }
    13. proxy_pass http://qiniu.xloda.com/;
    14. }

    这里的   xloda.com/qiniu/  就类似于  qiniu.xloda.com/  前端项目里将OSShost改成代理的路径即可。

  • 相关阅读:
    sprigboot+在线预定车位管理 毕业设计-附源码221738
    数据库原理及应用实验报告-实验10-触发器
    基于微信健身房私教预约小程序系统设计与实现 开题报告
    Gbase8s数据库ALTER INDEX 语句
    认识 计算机语言Python 程序,pycharm编辑器编写,基本语法【注意:变量的命名(变量名只能由字母、数字和下划线组成,第一个字符不能是数字)】
    【Error】mysql报错:[Err] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘
    统一潮流控制器 (UPFC) 的应用,以增强电力系统中的电压稳定性(Matlab代码实现)
    工程机械流通行业BI经营分析框架(一)四大关注方向
    SpringBoot整合JavaMailSender(发送QQ邮件)
    Django admin 站点管理
  • 原文地址:https://blog.csdn.net/qq_50909707/article/details/141096440
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号