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