ccschan 2019-11-18
nginx配置https,后端springboot前后端分离
项目中需要配置https,目前架构是springboot+bootsrap前后端分离
第一步:去腾讯云申请免费的https
第二步:nginx配置 ssl
server{ listen 443; server_name 913.iteye.com; #启用 SSL 功能 ssl on; #证书文件名称 ssl_certificate 1_913.iteye.com.crt; #私钥文件名称 ssl_certificate_key 2_913.iteye.com.key; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; include vhost/*.conf; }
第三步 配置http转向https
server{ listen 80; server_name 913.iteye.com; rewrite ^(.*)$ https://$host$1 permanent; }
这样就可以了,但还有个问题就是,
全部请求重定向https后,post后参数携带不了,所以就得限制只有GET方法才能
server{ listen 80; server_name 913.iteye.com; if ($request_method !~ ^(POST|DELETE|OPTIONS)$ ) { rewrite ^(.*)$ https://$host$1 permanent; break ; } }