SpringBoot配置
application.properties/yml配置:
1 2 3 4
| server.port=8080 server.tomcat.protocol_header=x-forwarded-proto server.use-forward-headers=true server.address=127.0.0.1
|
该配置将指示tomcat从HTTP头信息中去获取协议信息(而非从HttpServletRequest中获取),同时,如果你的应用还用到了spring-security则也无需再配置。
此外,虽然我们的tomcat被nginx反向代理,但仍可访问到其8080端口。为此增加server.address=127.0.0.1,这样一来其8080端口就只能被本机访问了。
阿里云申请免费的SSL证书
进入控制台,侧边栏=>安全(云盾)=>CA证书服务=>购买证书=>选择免费型DV SSL购买。
补全信息,选择什么的都默认的就好了,提交后等会就可以下载了。
选择下载证书for nginx,下载完上传到服务器。
nginx配置
nginx的根目录(和nginx.conf同级)下创建文件夹cert,用于存放证书xxxxx.pem和xxxxx.key。
nginx.conf配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| server { listen 80; server_name xxxxx.com www.xxxxx.com; rewrite ^(.*)$ https://${server_name}$1 permanent; }
server { listen 443 ssl; server_name xxxxx.com www.xxxxx.com; ssl_certificate cert/xxxxx.pem; ssl_certificate_key cert/xxxxx.key; location / { proxy_pass http://localhost:8080; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } }
|
其他
注意防火墙开启80,443端口的访问,阿里云服务器可能需要配置安全组。