tomcat设置https端口时,8443和443区别:
相当于 配置里8080和80的区别一样:
关于证书的获取
可以直接使用命令获取
keytool -genkey -v -alias testKey -keyalg RSA -validity 3650 -keystore /tomcat/tomcat/test.keystore
也可以用第三方获取
详见阿里或者腾讯获取证书
在tomcat中配置https
1).把keystore证书上传到你的tomcat服务器上(如果你的tomcat在本地,那么不移动也可以),并记下证书所在路径.
2).cd到tomcat的conf目录下,打开server.xml文件,搜索https找到下面这项:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="cert/demo.pfx"
certificateKeystorePassword="88888888"
clientAuth="false" sslProtocol="TLS"
type="RSA" />
</SSLHostConfig>
</Connector>
记住一定要放开443端口要不然会很难受
可以了解一下 server.xml文件的结构
Tomcat 8005/8009/8080/8443端口的作用
8005–关闭tomcat进程所用。当执行shutdown.sh关闭tomcat时就是连接8005端口执行“SHUTDOWN”命令–由此,我们直接telnet8005端口执行“SHUTDOWN”(要大写,小写没用;不运只能telnet 127.0.0.1 8005其他地址telnet都不能连接)也可以成功关闭tomcat.
8009–httpd等反向代理tomcat时就可以使用使用ajp协议反向代理到该端口。虽然我们经常都是使用http反向代理到8080端口,但由于ajp建立tcp连接后一般长时间保持,从而减少了http反复进行tcp连接和断开的开销,所以反向代理中ajp是比http高效的
8080–默认的http监听端口
8443–默认的https监听端口。默认未开启,如果要开启由于tomcat不自带证书所以除了取消注释之外,还要自己生成证书并在中指定方可
关于从定向的问题
那么redirectPort属性的作用是什么呢?
当用户用http请求某个资源,而该资源本身又被设置了必须要https方式访问,此时Tomcat会自动重定向到这个redirectPort设置的https端口。
在tomcat的配置文件service.xml中有两个端口号配置,分别是http端口号,重定向端口号redirectPort。当用户用http请求某个资源,而该资源本身又被设置了必须要https方式访问,此时Tomcat会自动重定向到这个redirectPort设置的https端口。
总结:所以在配置service.xml的时候要注意保持重定向端口号一致