本文记录的使用环境为 centOS7.2系统,Nginx1.10.1, tomcat8.5
nginx已经实现 https
试了好几次终于成功,Nginx实现了 SSL ,那么tomcat就不需要再配置 SSL 了,在这里我取消了原来tomcat的SSL配置。
一、首先修改/usr/local/nginx/conf下的nginx.conf文件,在http 域下增加,绿色部分为主要部分。注意是在 433端口
#服务器集群,可以增加多个 upstream tomcat1 { server 127.0.0.1:8080; } server{ #监听443端口 listen 443; #对应的域名,把baofeidyz.com改成你们自己的域名就可以了,我这里用localhost是一样的 server_name localhost; ssl on; #从腾讯云获取到的第一个文件的全路径 ssl_certificate /etc/ssl/1_www.project.cn_bundle.crt; #从腾讯云获取到的第二个文件的全路径 ssl_certificate_key /etc/ssl/2_www.project.cn.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。 location / { #文件夹 root /usr/local/nginx/html; #主页文件 index index.html; }
#这个是匹配你访问的某个项目 location /project/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_redirect off; proxy_connect_timeout 240; proxy_send_timeout 240; proxy_read_timeout 240; # note, there is not SSL here! plain HTTP is used proxy_pass http://tomcat1; #修改配置,与上面tomcat1一致 } }
2、修改tomcat配置文件
redirectPort改为443,并增加proxyPort="443"
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" proxyPort="443" />
redirectPort改为443
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
重启 tomcat 和 nginx 即可