Nginx下SSL证书设置和反向代理

时间:2021-08-30 22:41:19

上来就贴代码:

server {
listen ;
server_name **.****.net; #填写绑定证书的域名 ssl on;
ssl_certificate /opt/nginx-1.10./conf/nginx_ssl_**.****.net/1_**.****.net_bundle.crt;
ssl_certificate_key /opt/nginx-1.10./conf/nginx_ssl_**.****.net/2_**.****.net.key; ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1. TLSv1.; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on; location ^~ /base/ {
proxy_pass http://localhost:8080;
proxy_redirect default;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
} location / {
root /www/index;
index index.html;
}
}

关于ssl_prefer_server_ciphers,在双端协商加密算法时,主要是向客户端强调使用服务端的加密算法,但最终使用谁的算法是由客户端说了算

X-Real-IP和X-Forwarded-For可以将客户端ip带给tomcat

如果要全站http,那就在server代码块里(注意不是server的location里)加入 rewrite ^(.*) https://$host$1 permanent; ,可以保证参数都带到https