Http 将Go Web服务器部署到Google计算引擎

Http 将Go Web服务器部署到Google计算引擎,http,go,server,google-compute-engine,Http,Go,Server,Google Compute Engine,我刚开始测试谷歌计算引擎。现在我正试图在它上面部署我的Go(golang)应用程序,以便可以从外部访问它。我使用计算引擎而不是应用引擎,因为我的应用程序需要一个MongoDB数据库 我做了以下工作: { "host": "localhost:1234", "dbhost": "localhost", "db": "dbname", "logfile": "log" } 创建计算引擎实例 设置防火墙,使端口1234处于打开状态,IP处于静态状态 安装MongoDB

我刚开始测试谷歌计算引擎。现在我正试图在它上面部署我的Go(golang)应用程序,以便可以从外部访问它。我使用计算引擎而不是应用引擎,因为我的应用程序需要一个MongoDB数据库

我做了以下工作:

{
    "host": "localhost:1234",
    "dbhost": "localhost",
    "db": "dbname",
    "logfile": "log"
}
  • 创建计算引擎实例
  • 设置防火墙,使端口1234处于打开状态,IP处于静态状态
  • 安装MongoDB
  • 上载我的应用程序
  • 开始
  • 应用程序启动得很好。但如果我用ip:1234在浏览器中打开它,我就无法从外部接触到它。我还尝试以root用户身份在端口80上启动它,但这也不起作用

    服务器配置如下:

    {
        "host": "localhost:1234",
        "dbhost": "localhost",
        "db": "dbname",
        "logfile": "log"
    }
    
    当我使用apache服务器时,它的服务器端口为80,页面将显示。。。操作系统是ubuntu 14.04

    main只是将一些处理程序添加到mux,并将文件服务器添加到public dir:

    mux.Handle("/", http.FileServer(http.Dir(public_dir)))
    // [...]
    if err := http.ListenAndServe(cfg.Host, mux); err != nil {
        panic(err)
    }
    

    那么这里的问题是什么呢?

    尝试将
    host
    localhost
    更改为
    0.0.0
    ,因为现在它只监听“内部”请求。

    我相信完全忽略主机名也会起作用:
    “:1234”