作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 appengine sdk 在本地为 google app engine 开发一个小的 go 应用程序。
我有一个问题,只有当我尝试使用本地主机而不是域名来访问它时,才能提供不同于根目录的路径。
我的设置如下。
我的 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/
我是一名优秀的程序员,十分优秀!