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会话缓存1MB
ssl_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错误。默认60s
client_header_timeout 10s;
#读取请求实体的超时时间,若超过所设定的大小,返回413错误。默认60s
client_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错误。默认60s
client_header_timeout 10s;
#读取请求实体的超时时间,若超过所设定的大小,返回413错误。默认60s
client_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即可;
标签:http,header,证书,ssl,proxy,timeout,nginx From: https://www.cnblogs.com/xy20211005/p/18426628