https配置流程--Nginx(以及跨域、响应超时问题解决)


前言

前提条件:你已经申请到SSL证书。

申请教程链接: https://blog.csdn.net/weixin_45248225/article/details/119422058.。


一、条件准备

环境说明:VUE+JAVA 前后端分离。

1.jar包、nginx配置

配置教程: https://blog.csdn.net/weixin_45248225/article/details/117986285.。

2.已经申请到SSL证书

二、https配置流程

1.找到nginx安装路径,打开nginx.conf配置文件

2.nginx.conf配置文件下,单独添加server {}

添加如下(示例):


server {
    listen 443 ssl;#注意是否开启了443安全组
    #更换自己的域名
    server_name 域名.com;
    client_max_body_size 1024M; #允许客户端请求的最大单文件字节数,人话:能上传多大文件
        client_body_buffer_size 2m; #缓冲区代理缓冲用户端请求的最大字节数,人话:一次能接受多少文件,建议根据带宽上限设置,减少磁盘读写,加快速度
    proxy_connect_timeout 5m;   #nginx跟后端服务器连接超时时间(代理连接超时),这个看需求
    proxy_read_timeout 5m;      #连接成功后,后端服务器响应时间(代理接收超时),这个 同上
    proxy_send_timeout 5m;

	#vue2.0前端项目打包后生成的chunk-vendors文件过大加载太慢解决方案
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

	#需将下载的SSL证书放到指定目录下(如:cert(当前文件夹与nginx.conf同级))
    ssl_certificate cert/下载的.com.pem;
    ssl_certificate_key cert/下载的.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;
    access_log /mnt/wwwlogs/access_nginx.log combined;
  
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
      expires 30d;
      access_log off;
    }
    location ~ .*\.(js|css)?$ {
      expires 7d;
      access_log off;
    }
    location ~ ^/(\.user.ini|\.ht|\.git|\.svn|\.project|LICENSE|README.md) {
      deny all;
    }
    location ^~ / {
add_header Access-Control-Allow-Origin *;

    add_header Access-Control-Allow-Credentials 'true';

    add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';

    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';

   add_header Access-Control-Expose-Headers 'Content-Length,Content-Range';

 

      proxy_pass http://localhost:9090/; #(9090需修改)配置的端口号
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }


三、https相关问题及优化

说明:一下问题再上述nginx.conf中都已使用

1.使用nginx反向代理做前后端分离 跨域问题

在location ^~ / {}中添加。

	add_header Access-Control-Allow-Origin *;

    add_header Access-Control-Allow-Credentials 'true';

    add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';

    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';

    add_header Access-Control-Expose-Headers 'Content-Length,Content-Range';

2.使用nginx反向代理做前后端分离 上传大文件失败

在server {} server_name下添加。

#允许客户端请求的最大单文件字节数,人话:能上传多大文件
client_max_body_size 1024M;

3.使用nginx反向代理做前后端分离 上传大文件速度特别慢

#缓冲区代理缓冲用户端请求的最大字节数,人话:一次能接受多少文件,建议根据带宽上限设置,减少磁盘读写,加快速度
client_body_buffer_size 10m; 

4.使用nginx反向代理做前后端分离 上传大文件响应超时

  #nginx跟后端服务器连接超时时间(代理连接超时),这个看需求
  proxy_connect_timeout 5m;   
  #连接成功后,后端服务器响应时间(代理接收超时),这个 同上
  proxy_read_timeout 5m; 
  #服务端向客户端传输数据的超时时间。
  proxy_send_timeout 5m;   

教程链接: https://blog.csdn.net/zhouzhupianbei/article/details/115892723.

5.vue2.0前端项目打包后生成的chunk-vendors文件过大加载太慢解决方案

说明:此未成功验证

	#vue2.0前端项目打包后生成的chunk-vendors文件过大加载太慢解决方案
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

教程链接: https://blog.csdn.net/baifucn/article/details/111866421.
每次更改nginx.conf文件后都需重启nginx

处理结果

以上包括了我本次配置遇到的nginx下的Https跨域、上传文件过大等一系列问题汇总,整整花了一天时间。
最后的话:很多时候都是本地没有问题,线上就存在很多问题,这时候请一步步耐心解决,肯定能解决的。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,fastdfs-nginx-module的配置可以通过在nginx的配置文件中增加以下配置来实现\[3\]。具体配置如下: ``` location / { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; add_header Access-Control-Expose-Headers 'Content-Length,Content-Range'; } ``` 这段配置会在响应头中添加Access-Control-Allow-Origin字段,允许所有来源的请求访问。同时,还会添加Access-Control-Allow-Methods字段,指定允许的请求方法,以及Access-Control-Allow-Headers字段,指定允许的请求头。最后,还会添加Access-Control-Expose-Headers字段,指定允许客户端获取的响应头。 请注意,这只是最简单的配置示例,实际情况中可能需要根据具体需求进行调整。 #### 引用[.reference_title] - *1* *2* [nginx配置fastdfs模块内容时报错unknown directive ngx_fastdfs_module in /usr/local/nginx/conf/nginx.conf:50](https://blog.csdn.net/Cafune_f/article/details/125571122)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [FastDFS+nginx+fastdfs-nginx-module服务器配置详解](https://blog.csdn.net/tjcyjd/article/details/69663348)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值