Nginx+Tomcat升级HTTPS过程

· 57字 · 1分钟
  • 申请一个免费的SSL证书。目前腾讯云阿里云百度云七牛云都提供免费的SSL证书,且都是赛门铁克签发。形式为gker.crt证书和gker.key私钥,用于Nginx。
  • 亚洲诚信上将此证书转换为jks形式,用于tomcat。
  • 打开tomcat的https
    • 安装APR
    • 安装SSL-dev库
    • 修改tomcat的server.xml文件 原有被注释的以下内容,取消注释并增加key文件路径。
	 
	 <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" connectionTimeout="20000"
				  maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
				  clientAuth="false" sslProtocol="TLS"
				  keystoreFile="***.jks"
				  keystorePass="***"
				  />

	  <!--关闭默认的SSLEngine-->
	  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off"/>
  • 打开Nginx的https
    • 修改conf中的server配置
	  #新增443端口监听
	  listen 443 ;
	  
	  #修改代理的tomcat端口
	  location ~ .* {
		proxy_pass https://127.0.0.1:8443 ;
	  }
	  
	  #打开ssl
	  ssl on ;
	  
	  #指定sslkey路径
	  ssl_certificate /usr/local/nginx/***/gker.crt ;
	  ssl_certificate_key /usr/local/nginx/***/gker.key ;
	  
	  #让http请求重定向到https请求   
	  error_page 497  https://$host$uri?$args ;
  • 重启tomcat,再重启Nginx即可。
  • 期间tomcat可能会报各种错误,仔细排查即可。本文只是主体思路。
comments powered by Disqus