當我們需要更安全的訪問網站的時候就會選擇使用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