完成购买(免费类型的)
1,登录阿里云账号,然后如下图操作:
image.png
申请SSL要在域名的账号下面申请!
2,进入页面后,点击页面右上角的“购买证书”按钮,进入证书选择界面:
先选择“保护类型”:“1个域名”,上面就会出现“免费型DV SSL”,参数设置如图:
image.png
3,选择0元购买和支付,即可
域名准备
1,登录域名账号,解析一个子域名
image.png
2,回到证书购买账号,在“我的证书”->“我的订单”下,选择“补全”,补全申请信息
image.png
域名验证类型选择“DNS”,并在下面的说明打钩;
选择系统生成证书
以上操作完成之后证书服务会出现等审核状态,等待审核;
安装nginx参照:https://www.jianshu.com/p/42a73e216135
设置nginx支持https
1,下载证书:解压缩得到pem和key文件,并上传到nginx.conf同一目录下
2,把默认的server配置块注释掉
3,启用conf文档最底部https配置:
server {
listen 443 ssl;
server_name localhost;
ssl_certificate 214532663120541.pem;
ssl_certificate_key 214532663120541.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
4,重新启动nginx服务;
在地址栏输入:https://xxx.xxx.com测试,此处的域名就是上面解析和ssl配置的域名
https 和代码相关的修改
Nginx SSL+tomcat集群,jsp 取到正确的参数配置
1,nginx.conf修改如下:
proxy_set_header Host $host; #jsp代码中request.getServerName()获取正确的服务器域名
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; #jsp代码中request.getScheme()获取https字符串
2,配置Tomcat server.xml 的 Engine 模块下配置一个 Valve:
<Valve className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="X-Forwarded-For"
protocolHeader="X-Forwarded-Proto"
protocolHeaderHttpsValue="https"/>