关于nginx+tomcat https的陈设之前网上一直有2种说法:
1.nginx和tomcat都要陈设ssl证书
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
2.nginx陈设ssl证书,tomcat增加ssl支持
在实际的陈设进程中nginx的设置和ssl证书陈设很顺利,可是tomcat用网上传播的说法设置之后,发明非静态内容无法正常利用。(项目用了dubbox,dubbox基于resteasy宣布rest协议)
颠末一系列折腾,最终总结出以下履历,但愿能帮到其他人。
一. 申请SSL证书
SSL证书其实可以本身生成,可是因为本身生成的证书不是欣赏器厂商承认的受信机构揭晓,所以欣赏器会打红叉!为了用户体验,所以
我们要到SSL证书厂商哪里申请SSL证书。小我私家推荐 globalsign(淘宝用的) wosign.com(价值优惠)startssl(有免费版)。假如利用单域名DV证书,签发只要15分钟-2小时。厂商凡是会把签发好的证书以邮件形式发送过来。
1. 本身生成 证书签名请求(CSR)和私钥(KEY)。可以利用厂商提供的东西https://www.trustasia.com/tools/csr-generator/
也可以利用openssl生成 openssl req -new -nodes -newkey rsa:2048 -keyout domain.key -out domain.csr
2.把证书签名请求(CSR)和私钥(KEY)提供应厂商。
3.收到厂商签发好的证书。(私钥照旧本身的)
二.陈设证书到nginx并设置
nginx的证书陈设相对简朴。
1.确定nginx是否安装了ssl模块,,假如没有需要从头mark install。(发起 pcre-8.38zlib-1.2.8 openssl-1.0.2g 版本太高大概导致编译失败)
2.把厂商提供的 x.crt 内容追加到 x.cer, 然后把 x.key 和 x.cer 放到Nginx处事器
3.nginx.conf 增加https支持。主要是设置 80 和 443 端口的监听
server{listen80;server_namex;rewrite^(.*)$https://$host$1permanent;}server{listen443;server_namex;sslon;ssl_certificate/etc/nginx/server.cer;ssl_certificate_key/etc/nginx/server.key;ssl_session_timeout5m;ssl_protocolsTLSv1;ssl_ciphersHIGH:!aNULL:!MD5;ssl_prefer_server_cipherson;location/{client_max_body_size16m;client_body_buffer_size128k;proxy_passhttp://online/;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerX-Forwarded-Protohttps;proxy_next_upstreamoff;proxy_connect_timeout30;proxy_read_timeout300;proxy_send_timeout300;}}
我这里做了http强跳到https,不需要这个成果,可以去掉 rewrite ^(.*)$ https:
三.tomcat增加对https协议的支持
1.Connector节点插手redirectPort="443"proxyPort="443"
2.插手新的Value节点