赞
踩
之前写了一篇文章,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加不同端口的数据。比如我的设置如下:
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 访问。
参考资料:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。