Mac 使用 80 端口
更新日志:
20170807 更新mac使用80端口的錯誤問題镊折。
[toc]
[ ] 方案一:
Mac OS X 因為要綁定80端口需要ROOT權限夜畴, 但是如果用root權限啟動eclipse或tomcat又會造成, 啟動創(chuàng)建的各類文件是root的址貌,普通用戶無法刪除铐拐,放棄。[x] 方案二:
通過pfctl做網絡層的端口轉發(fā)练对, 讓連接到本機80端口的請求遍蟋,都轉發(fā)到8080端口;采納
注意螟凭, Mac OS 會使用80端口做網絡文件共享货葬,要先關閉掉龄减。
一级野、修改/etc/pf.conf
先對pf.conf進行備份:
sudo cp /etc/pf.conf /etc/pf.conf.normal.bak
之后在該文件中以下行:
sudo vim /etc/pf.conf
rdr-anchor "com.apple/*"
后面添加一行配置,如下:
rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
注意:lo0
通過ifconfig
看自己那個設備綁定的是127.0.0.1
, lo0
是這個網絡設備的名字钟些,一般大家都是lo0
。如圖:
二绊谭、依次執(zhí)行以下命令:
sudo pfctl -d
sudo pfctl -f /etc/pf.conf
sudo pfctl -e
注意:如果有apache等服務器占用了80端口政恍,則需要將其停掉方能成功!
如果出現(xiàn)
No ALTQ support in kernel
ALTQ related functions disabled
pfctl: pf not enabled
忽略即可达传。
問題一:getsockopt: connection refused
2017/08/07 18:47:52 [E] [proxy.go:332] [sell] connect to local service [127.0.0.1:80] error: dial tcp 127.0.0.1:80: getsockopt: connection refused
上面我們配置pfctl
轉發(fā)到8080端口篙耗,當時有效,但因為重啟電腦后宪赶,pfctl
的配置又變回之前了宗弯,需要配置在開機啟動的配置文件中。
注:開機啟動需要編輯文件 /System/Library/LaunchDaemons/com.apple.pfctl.plist
<string>pfctl</string>
<string>-e</string>
<string>-f</string>
<string>/etc/pf.conf</string>
10.11
以上系統(tǒng)因為增強了安全模式搂妻,導致/System/Library/LaunchDaemons/com.apple.pfctl.plist
修改失敗蒙保,請重啟至安全模式在進行操作。
參考自:
https://toutiao.io/posts/d7ljnp/preview
http://blog.csdn.net/thc1987/article/details/53606603
http://blog.csdn.net/ilovesmj/article/details/51549119
http://www.cnblogs.com/fullstack-yang/p/6223960.html