【发布时间】:2017-02-16 18:50:47
【问题描述】:
我有一个使用 go-endpoints 设置后端的应用。在 Ubuntu 中本地运行时,我可以向后端发送请求并在 localhost:8080/_ah/api/explorer 中查看 API 资源管理器。我尝试将代码移动到运行 macOS Sierra 10.12.3 的新 Macbook Pro,现在尝试向本地服务器发送请求时收到 404。
我可以从我的 Macbook 部署应用程序,并且后端按预期工作,因此它只是本地服务器出现问题。
我已经尝试过来自 Google 的 this 建议,关于在本地访问 API 资源管理器。
我尝试按照this 就本地服务器的一般 Sierra 问题提出建议。
我的yaml文件很简单:
module: default
runtime: go
api_version: go1
handlers:
- url: /_ah/spi/.*
script: _go_app
我已尝试搜索 appengine、localhost、go、endpoints、sierra、404 的所有组合,但没有一个解决方案有效。
【问题讨论】:
-
您在开发服务器日志中看到了什么?
-
只是 "default: "GET / HTTP/1.1" 404 19" 用于 curl localhost:8080 或 "GET /_ah/api/explorer HTTP/1.1" 404 19" 用于尝试 API 资源管理器。
-
你的本地开发服务器是否真的在监听 localhost:8080? (也许你有其他东西在监听那个端口,而 devserver 正在监听其他端口,在服务器启动时显示在日志中?)
-
我很确定它正在监听,我正在运行我在 Ubuntu 上使用的相同命令,当我启动使用 Python 运行时的前端应用程序时,localhost:8080 会监听并工作。这就是为什么我认为它可能与 Go 相关。启动时的 devserver 输出为:INFO 2017-02-16 19:39:00,646 api_server.py:268] 正在启动 API 服务器:localhost:56112 INFO 2017-02-16 19:39:00,649 dispatcher.py:199] 启动模块“默认”运行于:localhost:8080 INFO 2017-02-16 19:39:00,654 admin_server.py:116] 启动管理服务器:localhost:8000
-
我在使用 Go SDK 的 v1.9.48 时遇到了同样的问题。假设这是一个新问题,我将返回 gcloud SDK 版本以尝试找出问题所在。
标签: macos google-app-engine macos-sierra google-app-engine-go