当我们需要更安全的访问网站的时候就会选择使用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