【问题标题】:App Engine Go SDK web server running in Vagrant guest (with port forwarding) not reachable from host无法从主机访问在 Vagrant 来宾中运行的 App Engine Go SDK 网络服务器(带有端口转发)
【发布时间】:2013-12-07 23:53:21
【问题描述】:

我在 Vagrant 来宾精确 64 框中运行 GAE 开发服务器,具有以下网络设置(在我的 Vagrantfile 中):

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network :forwarded_port, guest: 8080, host: 9090
end

它的作用是什么:

[default] Forwarding ports...
[default] -- 8080 => 9090 (adapter 1)

我启动我的 App Engine 服务器:

goapp serve

dev_appserver.py myappfolder

这会按预期启动应用引擎开发服务器:

INFO 2013-11-22 dispatcher.py] Starting module running at: http://localhost:8080

在所有情况下,我都能 ssh 到 Vagrant 来宾并成功 curl localhost:8080

不幸的是,在运行 GAE 开发 Web 服务器时,我无法从 host 获得来自 localhost:9090 的响应。此外,我确保没有任何东西干扰主机上的端口 9090。 此外,我几乎可以肯定这与 Vagrant 无关,因为我在 8080 上启动了一个快速的 node.js Web 服务器,并且能够从主机访问它。我错过了什么?!!!

【问题讨论】:

    标签: google-app-engine go vagrant


    【解决方案1】:

    使用 Vagrant 端口转发时,您必须在 0.0.0.0 上运行 Google App Engine Go dev web server。像这样:

    goapp serve -host=0.0.0.0
    

    请参阅the answers here,了解有关确保访客 Web 服务器未绑定到 127.0.0.1(即环回)的更多信息。默认情况下绑定到 127.0.0.1 的网络服务器(如 App Engine Go 开发网络服务器)应该被覆盖以使用 0.0.0.0。

    【讨论】:

    • goapp serve -host :: 是等价的,只是少了一点打字
    • 我不知道。因此,这就是 IPv6“未指定”地址。凉爽的。少打字总是受欢迎的。谢谢@Dave
    • --host= 参数在 vagrant 中运行时也与其他语言 SDK 相关。
    猜你喜欢
    • 2014-05-22
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2016-06-05
    • 2019-04-22
    • 1970-01-01
    相关资源
    最近更新 更多