定制开发小程序tomcat配置ssl证书

1、使用jdk定制开发小程序自带工具生成证书,找到jdk下bin定制开发小程序目录执行一下命令:

keytool -genkeypair -alias “tomcat” -keyalg “RSA” -keystore “D:\ssl\tomcat.keystore” -validity 36500
  • 1

D:\\tomcat.keystore 为证书存储路径自行修改

2、将生成证书复制到tomcat ssl文件夹下,修改tomcat配置,找到tomcat/conf/server.xml文件

修改配置项:

<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"               maxThreads="150" SSLEnabled="true" >        <SSLHostConfig>            <Certificate certificateKeystoreFile="ssl/tomcat.keystore" certificateKeystorePassword="jrealsoft" type="RSA" />        </SSLHostConfig>    </Connector>    <!-- certificateKeystoreFile:为证书存储路径	keystorePass:生成证书时的密码 -->
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
<Connector port="8010" protocol="AJP/1.3" redirectPort="8081" />
  • 1

3、重启tomcat

4、访问应用

使用http(http://localhost:8081/test/index.html)访问时会提示“Bad Request This combination of host and port requires TLS”
需要在conf/web.xml 标签内最后一行中加入以下配置,访问时自动转向https

<!--配置网站支持https,/* 表示全部请求都走https, transport-guarantee 标签设置为 CONFIDENTIAL以便使应用支持 SSL。 如果需要关闭 SSL ,将 CONFIDENTIAL 改为 NONE 即可 --><login-config> 		<!-- Authorization setting for SSL --> 		<auth-method>CLIENT-CERT</auth-method> 		<realm-name>Client Cert Users-only Area</realm-name> 	</login-config> 	<security-constraint> 		<!-- Authorization setting for SSL --> 		<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

对于该方案在tomcat8.5版本测试无效,欢迎交流

5、访问时会提示“你的连接不是专用连接”由于证书不受信任导致

该问题未解决,欢迎评论交流

参考文章:



网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发