程序笔记   发布时间:2022-05-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了nginx https反向代理tomcat的2种实现方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

反向代理

在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。

Nginx做前端代理分发,tomcat处理请求。Nginx反代tomcat实现https有二个方法。

一、Nginx配置https,tomcat也配置https

1、Nginx配置https

@H_675_25@ upstream https_tomcat_web { server 127.0.0.1:8443; } server { Listen 443; server_name www.test.com; index index.HTML; root /var/www/HTML/test; ssl on; ssl_certificate /etc/Nginx/go.pem; ssl_certificate_key /etc/Nginx/go.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1.2; # ssl_ciphers ALL:!ADH:!EXPORT56:rC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NulL:!aNulL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; LOCATIOn ~ ^/admin { proxy_pass https://https_tomcat_web; //是https的 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-ForWARDed-For $proxy_add_x_forWARDed_for; clIEnt_max_body_size 100m; clIEnT_Body_buffer_size 256k; proxy_connect_timeout 60; proxy_send_timeout 30; proxy_read_timeout 30; proxy_buffer_size 8k; proxy_buffers 8 64k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } error_page 404 /404.HTML; LOCATIOn = /40x.HTML { } error_page 500 502 503 504 /50x.HTML; LOCATIOn = /50x.HTML { } }

2、tomcathttpS配置,配置文件server.xml

<service name="Catalina"> 
 <Connector port="8001" protocol="http/1.1" 
 connectionTimeout="20000" 
 redirectPort="8443" /> 
 <Connector port="8091" 
 protocol="AJP/1.3" 
 redirectPort="8443" /> 
//添加以下内容 
 <Connector port="8443" 
 protocol="http/1.1" 
 SSLEnabled="true" 
 scheR_150_11845@e="https" 
 secure="false" 
 keystorefile="cert/gotom.pfx" 
 keystoreType="PKCS12" 
 keystorePass="214261272770418" 
 clIEntAuth="false" 
 SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256" /> 
 
 ..................省略.................... 
 </service> 

配置好后重新启动Nginx,tomcat,就可以https访问了,这也是我现在采用的配置方式 。

二、Nginx采用https,tomcat采用http

1、Nginx配置https

@H_675_25@ upstream https_tomcat_web { server 127.0.0.1:8001; } server { Listen 443; server_name www.test.com; index index.HTML; root /var/www/HTML/test; ssl on; ssl_certificate /etc/Nginx/go.pem; ssl_certificate_key /etc/Nginx/go.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1.2; # ssl_ciphers ALL:!ADH:!EXPORT56:rC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NulL:!aNulL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; LOCATIOn ~ ^/admin { proxy_pass http://https_tomcat_web; //是http的 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-ForWARDed-For $proxy_add_x_forWARDed_for; clIEnt_max_body_size 100m; clIEnT_Body_buffer_size 256k; proxy_connect_timeout 60; proxy_send_timeout 30; proxy_read_timeout 30; proxy_buffer_size 8k; proxy_buffers 8 64k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } error_page 404 /404.HTML; LOCATIOn = /40x.HTML { } error_page 500 502 503 504 /50x.HTML; LOCATIOn = /50x.HTML { } }

2、tomcathttp配置,配置文件server.xml

<service name="Catalina"> 
 <Connector port="8001" protocol="http/1.1" 
 connectionTimeout="20000" 
 redirectPort="443" /> //在这里重新定向到了443端口 
 
 <Connector port="8091" 
 protocol="AJP/1.3" 
 redirectPort="443" /> 
 
 ..................省略.................... 
 </service> 

重启Nginx,tomcathttps就配置好了。

不管是第一种方法,还是第二种方法,如果通过http,直接访问8001端口,浏览器都会提示你不安全的访问,因为本身是http,确被重定向到了https。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。

大佬总结

以上是大佬教程为你收集整理的nginx https反向代理tomcat的2种实现方法全部内容,希望文章能够帮你解决nginx https反向代理tomcat的2种实现方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。