gpt4 book ai didi

google-app-engine - GAE go 只提供本地主机上的路径而不是域

转载 作者:IT王子 更新时间:2023-10-29 01:47:49 27 4
gpt4 key购买 nike

我正在使用 appengine sdk 在本地为 google app engine 开发一个小的 go 应用程序。

我有一个问题,只有当我尝试使用本地主机而不是域名来访问它时,才能提供不同于根目录的路径。

我的设置如下。

  • 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/loggedout,我会得到预期的 panic 。
如果我访问 home.mydomain.com/我得到我的网站,但是如果我访问 home.mydomain.com/loggedout 连接就挂起,在 chrome 网络选项卡中它被列为无限期挂起。

最佳答案

正如 Greg 所指出的,当我使用 goapp 时,我不需要同时调用 ListenAndServe。为了让 goapp 监听本地主机之外的请求,我还必须在命令中添加 --host "my laptops ip"。

关于google-app-engine - GAE go 只提供本地主机上的路径而不是域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38403341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com