ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-08-02

2021-08-02 14:00:05  阅读:209  来源: 互联网

标签:02 catalina java 08 LifecycleBase start 2021 apache org


Tomcat配置SSL证书

Tomcat8.5以上版本配置SSL过程

  1. 从阿里云或者腾讯云下载免费的SSL证书
    证书下载地址:https://yundun.console.aliyun.com/?spm=5176.13329450.top-nav.dbutton.600d4df5hXMoKp&p=cas#/certExtend/free
  2. 把下载的证书解压复制到Tomcat的conf目录下
  3. 打开Tomcat/conf/server.xml,在server.xml文件中修改以下参数
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

修改为

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

找到以下注释,去掉注释符号

<Connector port="8443"
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150"
           SSLEnabled="true">
     <SSLHostConfig>
           <Certificate certificateKeystoreFile="cert/keystore.pfx"
                 		certificateKeystorePassword="XXXXXXX"
                        certificateKeystoreType="PKCS12" />

修改为

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/ssl证书名字.pfx"
						 certificateKeystorePassword="*****"
						 certificateKeystoreType="PKCS12"
                         />
        </SSLHostConfig>
    </Connector>

certificateKeystoreFile填入之前复制到conf目录下的证书名
certificateKeystorePassword填入解压后得到的txt文件中的秘钥

找到

<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->

修改为

<Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="443" 
			   secretRequired=""
			   />

:加上secretRequired="" 是为了防止tomcat启动时出现报错,如下

02-Aug-2021 13:15:24.141 严重 [main] org.apache.catalina.util.LifecycleBase.handleSubClassException 无法启动组件[Connector[AJP/1.3-8009]]
	org.apache.catalina.LifecycleException: 协议处理器启动失败
		at org.apache.catalina.connector.Connector.startInternal(Connector.java:1080)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.StandardService.startInternal(StandardService.java:454)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:934)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.startup.Catalina.start(Catalina.java:795)
		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:498)
		at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
		at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
	Caused by: java.lang.IllegalArgumentException: AJP连接器配置secretRequired="true",但是属性secret确实空或者空字符串,这样的组合是无效的。
		at org.apache.coyote.ajp.AbstractAjpProtocol.start(AbstractAjpProtocol.java:270)
		at org.apache.catalina.connector.Connector.startInternal(Connector.java:1077)
		... 12 more

4.保存server.xml文件配置

5.打开web.xml文件,加入如下代码,实现网页自动跳转到https

<security-constraint> 
         <web-resource-collection > 
              <web-resource-name >SSL</web-resource-name>  
              <url-pattern>/*</url-pattern> 
       </web-resource-collection> 
       <user-data-constraint> 
                    <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
       </user-data-constraint> 
    </security-constraint>

6.重启Tomcat即可

标签:02,catalina,java,08,LifecycleBase,start,2021,apache,org
来源: https://blog.csdn.net/m0_50298282/article/details/119323168

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有