代理tomcat应用

环境为 centOS7.2系统,Nginx1.10.1, tomcat8.5

访问地址:https://web.my.com/project(nginx已经实现 https)
Nginx实现了 SSL ,那么tomcat就不需要再配置 SSL 了,在这里我取消了原来tomcat的SSL配置。

1. 首先修改/usr/local/nginx/conf下的nginx.conf文件,在http 域下增加,绿色部分为主要部分。注意是在 433端口

  1. #服务器集群,可以增加多个
  2. upstream tomcat1 {
  3. server 127.0.0.1:8080;
  4. }
  5. server{
  6. #监听443端口
  7. listen 443;
  8. #对应的域名,把baofeidyz.com改成你们自己的域名就可以了,我这里用localhost是一样的
  9. server_name localhost;
  10. ssl on;
  11. #从腾讯云获取到的第一个文件的全路径
  12. ssl_certificate /etc/ssl/1_www.project.cn_bundle.crt;
  13. #从腾讯云获取到的第二个文件的全路径
  14. 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;      }
  15.      #这个是匹配你访问的某个项目 
  16. location /project/ {
  17. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  18. proxy_set_header Host $http_host;
  19. proxy_set_header X-Forwarded-Proto https;
  20. proxy_redirect off;
  21. proxy_connect_timeout 240;
  22. proxy_send_timeout 240;
  23. proxy_read_timeout 240;
  24. # note, there is not SSL here! plain HTTP is used
  25. proxy_pass http://tomcat1; #修改配置,与上面tomcat1一致
  26. }
  27. }

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 即可