Tomcat配置SSL证书实现https(内网ip访问)

  • Post author:
  • Post category:其他




在Tomcat的bin目录下打开命令窗口(以下操作均在服务器上完成)

1.制作服务器端秘钥库

在命令窗口中输入下面命令:

keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 -ext SAN=dns:localhost,ip:XXX.XXX.XXX.XXX

ip地址填写服务器的ip。

2.制作客户端秘钥库

在命令窗口中输入下面命令:

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\mykey.p12 -validity 36500

3.客户端证书导入服务端密钥库

由于不能直接将p12导入,需要先从客户端密钥库导出证书,再将导出的证书导入服务端密钥库。


3.1导出证书

在命令窗口中输入下面命令:

keytool -export -alias mykey -keystore D:\mykey.p12 -storetype PKCS12 -storepass 123456 -rfc -file D:\mykey.cer


3.2导入服务端密钥库

在命令窗口中输入下面命令:

keytool -import -v -file D:\mykey.cer -keystore D:\tomcat.keystore

4.导出服务端密钥库证书

在命令窗口中输入下面命令:

keytool -keystore D:\tomcat.keystore -export -alias tomcat -file D:\tomcat.cer

5.配置tomcat,找到conf目录下的server.xml文件,增加如下配置



<Connector port=”443″ protocol=”org.apache.coyote.http11.Http11Protocol”






maxThreads=”150″ SSLEnabled=”true” scheme=”https” secure=”true”



clientAuth=”false” sslProtocol=”TLS” keystoreFile=”D:/tomcat.keystore”



keystorePass=”123456″ />



注意事项:

  1. 这里配置的443端口要根据网站的实际情况进行配置,如果原来的网站是默认端口(80),则配置443。
  2. 如果原来的访问地址中有端口号(8089),升级为https后,还想用原来的8089端口,那么这里的443就改为8089。同时访问地址就变成了htts://XXX.XXX.XXX.XXX:8089。
  3. 若想满足原有的网站地址(http://XXX.XXX.XXX.XXX:8089)访问后自动跳转到htts://XXX.XXX.XXX.XXX:8089,参照下图进行配置,同时操作此文档的第八步(web.xml修改)。

6.安装客户端密钥库

双击mykey.p12文件

7.安装服务端证书

双击打开tomcat.cer文件

8.修改web.xml配置,实现http自动跳转https

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

9.防火墙开通访问端口


备注:

如果找不到原来的入站规则,也可以自己新增入站规则。

10.重启tomcat服务



版权声明:本文为liangmengbk原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。