0
点赞
收藏
分享

微信扫一扫

Tomcat配置公网通过http和https访问

萧让听雪 2022-11-08 阅读 64


说明

之前写了一篇文章,​​Tomcat配置公网可访问​​,默认外网可以访问http端口。这篇同时实现外网可以同时通过http和https来访问。

先说一下几个关键点:

1. 外网访问本地主机,需要设置路由器,在路由转发功能里,把发送到该路由器指定端口的数据转发到内外的指定IP和端口的主机上。

2. 在上面的基础上,http默认端口80,https默认端口443。也就是把访问路由器的80端口和443端口的数据映射到指定IP和端口。

3. https 主要比http多了ssl认证,也就是需要一个证书。在java环境下可以通过keytool来实现证书。

环境

java、可以设置路由器、tomcat

步骤

1. 路由器设置端口转发

将访问路由器端口80和443的数据分别映射到IP加不同端口的数据。比如我的设置如下:

Tomcat配置公网通过http和https访问_tomcat

2. 生成签名证书:

假设你已经把keytool.exe添加到环境变量了。路径:Java\jdkxxx_xx\bin

1) 生成jks(java key store),一种存储秘钥(公钥或者私钥)的容器,出来的选项随便写。

keytool -genkey -alias lq_server -keyalg RSA -keystore lq_server.jks -validity 3600 -storepass 123456

2) 用.jks签发证书

keytool -export -alias lq_server -file lq_server.cer -keystore lq_server.jks -storepass 123456

3. 配置tomcat配置文件

我的路径:C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf\server.xml

<Connector 
port="62224"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
/>

<!-- HTTPS -->
<Connector
SSLEnabled="true"
acceptCount="100"
clientAuth="false"
disableUploadTimeout="true"
enableLookups="true"
keystoreFile="D:\test_keytool\lq_server.jks"
keystorePass="123456"
maxSpareThreads="75"
maxThreads="200"
minSpareThreads="5"
port="62223"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https"
secure="true"
sslProtocol="TLS"
/>

4. 启动tomcat

之后便可以可通过http://公网IP 和 https://公网IP 访问。

 

参考资料:

​​java服务器https​​


举报

相关推荐

0 条评论