我正在運行「cabal install & & yesod devel」使用yesod 0.9.2.2,但它只能使用ipv6偵聽。有誰知道如何配置它以監聽ipv4嗎?我在Windows 7上運行Yesod開發服務器只監聽ipv6
它感謝
我正在運行「cabal install & & yesod devel」使用yesod 0.9.2.2,但它只能使用ipv6偵聽。有誰知道如何配置它以監聽ipv4嗎?我在Windows 7上運行Yesod開發服務器只監聽ipv6
它感謝
你描述迄今已在BSD和Debian所觀察到的症狀,但它看起來像Windows也受到影響。
這是Yesod的一個已知問題,或者實際上與Wasp,或者更確切地說,與網絡庫有關。在這個問題上需要跟進的一個地方是this githup issue或current discussion on haskell-lists,部分原因是您的問題。
謝謝,我會密切關注這些。 – Caleb
儘管我目前沒有類似的設置來測試此功能,但您可能會發現,如果某些設備正在偵聽IPv6端口X,並且在IPv4的同一端口X上沒有監聽任何設備,則IPv6端口將會接收連接。 IPv6服務器將看到來自「IPv6」address :: ffff:1.2.3.4的連接(這稱爲IPv4映射IPv6地址)。內核提供IPv6和IPv4端點之間的轉換。通過電線使用IPv4。
我不知道有關Windows 7,但有些系統(如一些 Linux發行版),將默認設置一個特定的sysctl,這意味着服務器將需要綁定到單獨的IPv4禁用此功能和IPv6套接字(這是我的經驗,更好的選擇)。應用程序可以自由覆蓋此默認行爲。
您是否嘗試瀏覽「localhost」?我已經多次使用''yesod devel'',並且它工作正常,而且我的電腦沒有什麼特別之處。 –
那麼,如果我只是在本地主機上工作,但我們的網絡沒有啓用ipv6,所以遠程計算機無法瀏覽到我的網站。看看netstat,我可以看到它只能監聽我的ipv6地址,而不是ipv4 – Caleb
@Caleb:開發服務器被設計爲在本地使用。你有沒有檢查這是否也發生在生產服務器上? (做'cabal configure -fproduction')。 – hammar