Virtual-Machine

從 vagrant VM 中捲曲 localhost 會導致“來自伺服器的空回复”

  • July 22, 2017

我在 vagrant vm 中啟動了一個 deepstream 伺服器。服務員說是

Listening for websocket connections on 0.0.0.0:6020/deepstream

虛擬機中的 /etc/hosts:

# 0.0.0.0   localhost
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

當我從 vm 中捲曲 deepstream 伺服器時,我得到

curl 'http://0.0.0.0:6020/deepstream'
curl: (52) Empty reply from server

我嘗試使用 localhost、127.0.0.1 和 0.0.0.0 啟動伺服器。我也嘗試過捲曲這三個地址,但無濟於事。

監聽 0.0.0.0 意味著監聽所有本地 IP 地址。

嘗試curl http://127.0.0.1:6020/deepstream從 VM 本身訪問它。或者在您的虛擬機上使用任何其他 IP 地址 - 如果您想從另一台機器(包括虛擬機的主機)訪問它,則需要非本地 IP 地址。或解析為 VM 上任何 IP 地址的任何主機名。

如果您的 VM 沒有任何其他 IP 地址,那麼如果您想從 VM 外部訪問其上的任何網路服務,那麼這就是您需要解決的問題。這超出了此問題的範圍,請發布一個新問題,其中包含您的 VM 設置的詳細資訊(包括 vagrant 配置和本地 dhcp 伺服器(如果有))

注意:最好在另一個終端中監視 deepstream 伺服器的日誌文件,例如通過執行tail -f然後嘗試連接,至少在您調試初始設置時(或任何其他出現問題的時候)。

順便說一句,您應該刪除0.0.0.0條目/etc/hosts並取消註釋127.0.0.1條目。 0.0.0.0不是,也不 localhostlocalhost.

引用自:https://unix.stackexchange.com/questions/381045