解決mac os x下 tomcat啓動報 java.net.BindException: Permission denied :80 錯誤

我在mac os x上啓動tomcat的時候,報 java.net.BindException: Permission denied <null>:80,java.net.BindException: Permission denied <null>:443錯誤,443時由於我要棄用ssl服務。css

Mac OS X 由於要綁定1024如下的端口須要ROOT權限, 可是若是用root權限啓動eclipse或tomcat又會形成, 啓動建立的各種文件是root的,普通用戶沒法刪除。java

爲此, 咱們能夠經過pfctl作網絡層的端口轉發, 讓鏈接到本機80端口的請求, 都轉發到9090端口; (注意, Mac OS 會使用80端口作網絡文件共享, 要先關閉掉)。vim

一、修改/etc/pf.conf, 使用sudo vim /etc/pf.conf打開
二、添加rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080,rdr on lo0 inet proto tcp from any to 127.0.0.1 port 443 -> 127.0.0.1 port 8443 到pf.conf文件的rdr-anchor "com.apple/*" 這一行後面。pf.conf是對順序強要求的, 因此注意添加的內容放的順序。lo0 經過ifconfig 看本身那個設備綁定的是127.0.0.1, lo0是這個網絡設備的名字。這個不用動,直接用。tomcat

三、最後,運行命令sudo pfctl -f /etc/pf.conf從新載入配置文件,以及運行命令sudo pfctl -e,啓用新的配置網絡

 若要解除端口映射,可運行命令sudo pfctl -dapp

 

 

作好以上配置後,你本地訪問80端口的時候會跳轉到8080,443跳轉到8443,8080,8443 這個端口你本身定。 eclipse

 

相關文章
相關標籤/搜索