GAE仅在localhost而非域上提供路径

时间:2016-07-15 18:57:44

标签: google-app-engine go

我正在使用appengine sdk在本地使用谷歌应用引擎的小应用程序搞乱。

我遇到的问题是,如果我尝试使用localhost而不是域名命中它,则只能提供与root不同的路径。

我的设置如下。

  • home.mydomain.com指向我家的ip地址
  • 我的家庭路由器将端口80上的传入tcp和udp转发到我的笔记本电脑8080端口
  • 我的笔记本电脑正在运行Windows 10
  • 我的go版本是go1.6 windows / amd64

我的app.yaml:

application: tasks
version: 1
runtime: go
api_version: go1

handlers:
- url:  /.*
  script: _go_app

最低示例代码:

func init() {
    fileHandler := http.FileServer(http.Dir("../frontend"))

    http.HandleFunc("/loggedout", testHandler)
    http.Handle("/", fileHandler)

    log.Print(http.ListenAndServe(":8080", nil))
}

func testHandler(res http.ResponseWriter, req *http.Request){    
    panic("JUST NEED THIS TO WORK")
}

我的症状是,如果我访问localhost:8080 /我得到我的网站,如果我访问localhost:8080 /登出我得到预期的恐慌。
如果我访问home.mydomain.com/我得到了我的网站,但是如果我访问home.mydomain.com/loggedout连接只是挂起,在chromes网络选项卡中它被无限期地列为待定。

1 个答案:

答案 0 :(得分:0)

正如格雷格指出的那样,当我使用goapp时,我不需要再调用ListenAndServe。 要让goapp监听localhost之外的请求,我还必须添加--host"我的笔记本电脑ip"命令。