我在Google App Engine上设置了一个Flask应用程序作为Flex项目。 当我浏览到https:// {project-id} .appspot.com时,一切正常,我可以毫无问题地使用该应用程序。我为什么得到404?
我将自定义域设置为host.mydomain.io
gcloud beta app域名映射列表
ID SSL_CERTIFICATE_ID SSL_MANAGEMENT_TYPE
host.mydomain.io 5270000 AUTOMATIC
然后我设置我的dns指向ghs.googlehosted.com
nslookup host.mydomain.io
Non-authoritative answer:
host.mydomain.io canonical name = ghs.googlehosted.com.
Name: ghs.googlehosted.com
Address: 172.217.0.115
但是我总是得到404,这是日志
gcloud app logs tail -s default
2018-01-25 03:06:32 default[20180124t211951] "GET /" 404
2018-01-25 03:06:36 default[20180124t211951] "GET /" 404
然而,当我使用https:// {project-id} .appspot.com地址浏览时,它可以正常工作
2018-01-25 02:31:55 default[20180124t211951] "GET /" 200
的app.yaml
entrypoint: 'gunicorn manage:app -w 4 -b :$PORT'
env: flex
runtime: python
env_variables:
FLASK_CONFIG: "production"
答案 0 :(得分:0)
我发现问题来自我的Flask配置,而不是来自Google App Engine
在我的制作配置中,我有这个:
SERVER_NAME = "{project-id}.appspot.com"
这导致Flask返回404,而不是App Engine。
将其更改为
SERVER_NAME = "hostname.mydomain.io"
为我修好了。