Tomcat监听443端口的方法

时间:2023-03-08 20:33:52

  当我们需要更安全的访问网站的时候就会选择使用https协议,而https协议默认的端口号为443端口,这就是我们为什么向让Tomcat监听在443端口的原因,因为监控在非80端口和443端口的web服务都需要指定端口号来访问,这无疑会影响用户的体验。

  但是,我们如果直接在Tomcat的配置文件中将监听的端口号定义为443或1024以下的端口时,会报以下的错误。

Jul 19, 2017 10:36:05 PM org.apache.catalina.startup.Catalina start

SEVERE: Catalina.start:
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.net.BindException: Permission denied (Bind failed) <null>:1023
at org.apache.catalina.connector.Connector.start(Connector.java:1087)
at org.apache.catalina.core.StandardService.start(StandardService.java:531)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

日志提示我们:权限拒绝,绑定失败

如果我们想使用1024以下的端口可以使用以下的方法

一、:通过iptables实现端口映射

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

二、:修改Tomcat的配置文件,以root身份启用tomcat

vim /etc/init.d/tomcat6

搜索username