Tomcat各个 端口作用
从tomcat配置文件中,我们可以看出,在启动tomcat的时候默认启动了3个端口,分别是8080(8443)、8009、8005。
这个应该是我们最熟悉的一个,平常开发测试也经常用,该Connector用于 监听浏览器发送的请求 ,设置为80后可以直接使用 http://localhost 访问。
http协议,其中 redirectPort 表示如果发送的是https请求,就将请求发送到8443端口。
8443是默认的https监听端口,默认是没有开启的,如果要开启由于tomcat不自带证书所以除了取消注释之外,还需要自己生成证书并指定。
Nginx、Apache等反向代理tomcat时就可以使用ajp协议反向代理到该端口。
虽然我们经常使用http反向代理到8080端口,但由于ajp建立tcp链接后一般长时间保持,从而减少Http反复进行tcp链接和断开的开销,所以反向代理中ajp是比http高效的。
tomcat监听的关闭端口, 就是说这个端口负责监听关闭tomcat的请求 。
当执行 shutdown.sh 关闭tomcat就是链接8005端口执行 SHUTDOWN 命令;由此,我们直接用telnet向8005端口执行 SHUTDOWN 来关闭tomcat,这也是比较正统的关闭方式,如果这个端口没被监听,那么sh脚本就是无效的。
实际上,8005和8009端口并不是必须的,尤其SHUTDOWN虽然默认是监听在127.0.0.1,但是连接到这个端口,发送 SHUTDOWN 就可以无任何验证的把tomcat关闭掉,有安全隐患的。
AJP端口用来与应用服务器交互时候用,比如apache连接tomcat等,开发期间一般也用不着,可以禁止掉。
AJP端口,直接注释掉server.xml文件的配置行就可以了。
SHUTDOWN端口是写在server参数里面的,直接去掉是不管用的,也是会默认启动,一般在安全设置时候建议把端口修改为其他端口,SHUTDOWN修改为其他复杂的字符串。
实际上这个端口是可以直接屏蔽不监听的。设置时候将其port值修改为-1就可以。