Mac-Osx
埠 80:連接被拒絕。如何在 Mac OSX 上修復?
我注意到兩台 Mac 上的 Apache 虛擬主機存在一些問題,否則它們具有相同類型的設置(在 httpd.conf、vhost、主機等方面)。在一台 Mac 上,虛擬主機的服務沒有故障,而在另一台,我在埠 80 上收到連接被拒絕。
我認為這似乎不是 Apache 配置的問題,而是與埠有關。
即,無法在 80 上為虛擬主機 test.dev 提供服務的機器在埠掃描中向我顯示:
正在進行埠掃描…
Port Scanning host: 127.0.0.1 Open TCP Port: 88 kerberos Open TCP Port: 445 microsoft-ds Open TCP Port: 548 afpovertcp Open TCP Port: 631 ipp Сканирование портов завершено…
為 test.dev 服務的機器顯示了這一點:
Port Scanning host: 127.0.0.1 Open TCP Port: 22 ssh Open TCP Port: 53 domain Open TCP Port: 80 http Open TCP Port: 88 kerberos Open TCP Port: 445 microsoft-ds Open TCP Port: 548 afpovertcp Open TCP Port: 631 ipp Сканирование портов завершено…
所以在“好”機器上列出了埠 80,而在“壞”機器上則沒有。
在兩台機器上,我都有 apache 監聽 *:80 等,正確設置虛擬主機,主機文件中的適當條目等。兩台 Mac 都在執行 El Capitan,在同一個網路上等。
在好的 mac 上,提供了 test.dev,在壞的 mac 上,我得到了這個:
↪ curl -I -L test.dev 15:51:01 curl: (7) Failed to connect to test.dev port 80: Connection refused
我有點茫然,因為我不知道如何解決這個問題。為什麼埠 80 沒有出現在壞 Mac 的埠掃描中(使用 Network Utility 應用程序),但
sudo lsof -i -P | grep -i "80"
給了我:httpd 4482 root 5u IPv6 0xfe89d5ee2c7da24b 0t0 TCP *:80 (LISTEN) httpd 4484 daemon 5u IPv6 0xfe89d5ee2c7da24b 0t0 TCP *:80 (LISTEN) httpd 4485 daemon 5u IPv6 0xfe89d5ee2c7da24b 0t0 TCP *:80 (LISTEN) httpd 4486 daemon 5u IPv6 0xfe89d5ee2c7da24b 0t0 TCP *:80 (LISTEN) httpd 4487 daemon 5u IPv6 0xfe89d5ee2c7da24b 0t0 TCP *:80 (LISTEN) httpd 4488 daemon 5u IPv6 0xfe89d5ee2c7da24b 0t0 TCP *:80 (LISTEN)
提前謝謝了。
萬事如意,騰
編輯:我被要求證明為什麼這不是關於連接被拒絕的更一般問題的重複問題。這不是因為我的問題是針對 Mac OSX 的,而對我有用的解決方案(見下文)需要編輯 pf.conf 並使用 pfctl ,而假設的重複問題中根本沒有提到。
為了確保埠 80 在所有介面上都為 TCP 打開,我添加了
pass in proto tcp from any to any port 80
到
/etc/pf.conf
. 重新載入 pfctl 並沒有完全解決問題,但重新啟動可以。現在,埠在埠掃描中顯示為打開,並且我的虛擬主機已按應有的方式提供服務。