无法从Vagrant访问Google Cloud SDK for Python的本地开发服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从Vagrant访问Google Cloud SDK for Python的本地开发服务器相关的知识,希望对你有一定的参考价值。

我在Vagrant框中运行本地开发服务器并尝试在Chrome(主机)中打开它。但它无法在主机上打开。在guest虚拟机中使用localhost:7000上的curl返回HTML内容。这是我的Vagrant文​​件

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|

  config.vm.box = "ubuntu/xenial64"
  config.vm.provision :shell, path: "setup_dev_env.sh"

  config.vm.box_check_update = false

  config.vm.network "forwarded_port", guest: 7080, host: 7080, host_ip: "127.0.0.1"
  config.vm.network "forwarded_port", guest: 7000, host: 7000, host_ip: "127.0.0.1"

  config.vm.synced_folder "SOME_PATH", "/home/vagrant/code"

  config.vm.provider "virtualbox" do |vb|
    vb.gui = false
    vb.memory = "4096"
  end
end

运行服务器的命令(来宾计算机):

python /home/vagrant/code/google-cloud-sdk/platform/google_appengine/dev_appserver.py PATH_TO_app.yaml --port=7080 --admin_port=7000  --datastore_path=~/BLAH.db
答案

运行命令时需要添加以下内容(https://cloud.google.com/appengine/docs/standard/python3/tools/local-devserver-command

--host = ...

用于服务器的主机地址。您可能需要将其设置为能够从网络上的另一台计算机访问开发服务器。 0.0.0.0的地址允许本地主机访问和IP或主机名访问。默认是localhost

在你的情况下,在流浪汉中运行,你需要确保它绑定到0.0.0.0

python /home/vagrant/code/google-cloud-sdk/platform/google_appengine/dev_appserver.py 
PATH_TO_app.yaml 
--host=0.0.0.0 --port=7080 --admin_port=7000  --datastore_path=~/BLAH.db

以上是关于无法从Vagrant访问Google Cloud SDK for Python的本地开发服务器的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine 应用无法访问 Google Cloud Storage 存储分区

无法从服务器读取。它可能没有适当的访问控制原点设置Google Cloud |昂首阔步

无法通过 Google Cloud VM 的外部 IP 访问 nginx 容器

在 Vagrant 中安装 Jenkins 后,无法从浏览器连接

Vagrant box add - 无法连接到cloud-images.ubuntu.com端口443:超时

Google App Engine 上的 Production App 突然无法访问 Google Cloud Storage