【问题标题】:404 when Migrating Go AppEngine app from Ubuntu to macOS将 Go AppEngine 应用程序从 Ubuntu 迁移到 macOS 时出现 404
【发布时间】: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


【解决方案1】:

这似乎是 Python SDK 中的一个错误(由 Go SDK 用于开发服务器)。版本 1.9.40 工作正常,但 v1.9.49 已损坏。如果您使用 GCloud SDK,v137.0.1 是最后一个工作版本(包括 Python 扩展的 v1.9.40)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 2020-12-15
    • 1970-01-01
    • 2021-10-24
    • 2020-08-02
    相关资源
    最近更新 更多