nginx配置
方案一
server{listen 443 ssl;listen 7002 ssl;listen 9876 ssl;listen [::]:443 default ipv6only=on;listen [::]:7002 default ipv6only=on;listen [::]:9876 default ipv6only=on;#server_name 127.0.0.1 内网ip 域名;#配置只能使用域名访问server_name xxxxxx域名;server_tokens off; #隐藏nginx版本号ssl_certificate xxxx.crt; #指定服务器证书路径ssl_certificate_key xxxx.key; #指定私钥证书路径ssl_protocols TLSv1.2 TLSv1.3;ssl_session_cache shared:SSL:10m; #SSL会话缓存1MBssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!ADH:!RC4:!DH:!DHE;#是否由服务器决定采用哪种加密算法ssl_prefer_server_ciphers off;#测试用显示响应IP,生产需要关闭add_header backendIP $upstream_addr;add_header backendCode $upstream_status;#开启htst功能add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;#是否允许当前网页在“frame”或“iframe”标签中显示add_header X-Frame-Options SAMEORIGIN always;expires -1;root /bea/html;#配置通用响应proxy_redirect http:// $scheme://;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Via "nginx";#限制请求体的大小,若超过所设定的大小,返回413错误。client_max_body_size 1000m;#读取请求头的超时时间,若超过所设定的大小,返回408错误。默认60sclient_header_timeout 10s;#读取请求实体的超时时间,若超过所设定的大小,返回413错误。默认60sclient_body_timeout 60s;#http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒proxy_connect_timeout 5s;#http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒。proxy_read_timeout 60s;#http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒。proxy_send_timeout 180s;location / {proxy_pass http://192.168.80.2:8994;}
方案二
# https
server{listen 8013 ssl;listen [::]:8013 ssl;server_name 域名;client_max_body_size 1024m;ssl_certificate xxxx.pem;ssl_certificate_key xxxxx.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;#是否由服务器决定采用哪种加密算法ssl_prefer_server_ciphers on;#开启htst功能add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;#读取请求头的超时时间,若超过所设定的大小,返回408错误。默认60sclient_header_timeout 10s;#读取请求实体的超时时间,若超过所设定的大小,返回413错误。默认60sclient_body_timeout 60s;#http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒proxy_connect_timeout 5s;#http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒。proxy_read_timeout 60s;#http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒。proxy_send_timeout 180s;location / {proxy_pass http://192.168.80.2:8994;} }
证书问题
直接找运营商要的证书,访问web服务啥的没问题,但是小程序用不了
解决小程序问题
小程序提示证书链不完整,因此需要去重新进行‘证书链下载/证书链修复’;
网上随便找个在线的网页都可以进行操作;
我这里用的是:https://myssl.com/chain_download.html
将他返回的证书链信息,全部复制替换 XXX-cert.pem文件,重新发布nginx即可;