
我完全被這個難住了所以任何建議都會很棒!我的開發機器運行 OSX Mavericks,否則工作正常,但無法連接到 google、youtube 和一些 CDN(如 stackexchange 的 CDN)等主要網站。我得到的錯誤
wget http://maps.google.com/
是
Connecting to maps.google.com|2607:f8b0:400a:804::100e|:80... connected.
HTTP request sent, awaiting response... No data received.
如果我遠端登入 stackexchange cdn 的連接埠 80 並嘗試使用 helo 我得到
telnet 141.101.114.59 80
Trying 141.101.114.59...
Connected to 141.101.114.59.
Escape character is '^]'.
helo
Connection closed by foreign host.
另一個例子:
telnet cdn.sstatic.net 80
Trying 2400:cb00:2048:1::be5d:f53a...
Connected to sstatic.net.cdn.cloudflare.net.
Escape character is '^]'.
GET /index.html
Connection closed by foreign host.
如果我在其他機器上嘗試相同的命令,它們可以完美運行,但我確實注意到 unix 伺服器上的第二個範例返回了常規 IP。即使我更改網絡,這個問題仍然存在,並且似乎特定於端口,因為我可以在同一主機上很好地連接到端口 443。作為新用戶,我也嘗試了一切,以防有一些用戶特定的設置,但沒有運氣。
那麼 osx 中是否有一些特定於系統的設定可以阻止部分(但不是全部)連接埠 80 流量?或者我應該擦拭機器並重新開始?
非常感謝!
答案1
如果您嘗試使用 telnet 將原始訊息傳送到 Web 伺服器,則需要使用實際的原始HTTP,另一個參考,而不是 telnet 或 smtp 命令,因為網頁伺服器可能只使用 HTTP。
例如,類似:
GET /index.htm HTTP/1.1
host: www.example.com
您的路徑中是否有可能拒絕流量的防火牆、代理等?另外,您檢查過您的 DNS 是否正常運作嗎?其他可以嘗試的方法是直接透過 IP 而不是主機名稱存取網站。
要解決您的問題,您可能需要捕獲一些流量以查看它是否被拒絕或是否只是超時。您可以使用瀏覽器中的一些開發人員工具來執行此操作(例如,Chrome 的開發者工具網路面板)如果它們是“網路”監視器選項。否則,您可以使用類似的程序WireShark。這將為您提供有關網路層級發生的情況的更多資訊。