【发布时间】:2020-05-07 00:24:05
【问题描述】:
我正在使用 zappa 将 django api 上传到 aws lambda 项目是使用 django3.0、postgreSQL 和 django rest 框架构建的。本地一切正常,但是当我将 api 部署到 AWS Lambda 时,出现以下错误:
invalid HTTP_HOST header: 'lpzyjitlr0.execute-api.us-east-1.amazonaws.com'.
You may need to add 'lpzyjitlr0.execute-api.us-east-1.amazonaws.com' to ALLOWED_HOSTS.
我已经按照错误提示添加了 url,但是当我这样做时,我从 zappa 收到 504 错误。我今天整天都在梳理堆栈溢出,并在其他帖子中尝试了许多解决方案,但没有一个对我有用。我已将以下内容添加到允许的主机中,但仍然没有
ALLOWED_HOSTS = ['127.0.0.1', '*******.execute-api.us-east-1.amazonaws.com']
我不确定此时我做错了什么,但我真的很想启动并运行它。任何帮助将不胜感激。我的 github 上有完整的项目
https://github.com/coffeeincodeout/membership
你可以在这里查看日志
host found: [lpzyjitlr0.execute-api.us-east-1.amazonaws.com]
[1579569464923] [DEBUG] 2020-01-21T01:17:44.923Z 39c648fa-bd41-4c97-86de-428c90f48197 amazonaws found in host
[1579569464924] Invalid HTTP_HOST header: 'lpzyjitlr0.execute-api.us-east-1.amazonaws.com'. You may need to add 'lpzyjitlr0.execute-api.us-east-1.amazonaws.com' to ALLOWED_HOSTS.
[1579569464924] [ERROR] 2020-01-21T01:17:44.924Z 39c648fa-bd41-4c97-86de-428c90f48197 Invalid HTTP_HOST header: 'lpzyjitlr0.execute-api.us-east-1.amazonaws.com'. You may need to add 'lpzyjitlr0.execute-api.us-east-1.amazonaws.com' to ALLOWED_HOSTS.
[1579569465031] Bad Request: /dev/
[1579569465031] [WARNING] 2020-01-21T01:17:45.18Z 39c648fa-bd41-4c97-86de-428c90f48197 Bad Request: /dev/
[1579569465031] [INFO] 2020-01-21T01:17:45.19Z 39c648fa-bd41-4c97-86de-428c90f48197 66.229.9.195 - -
[21/Jan/2020:01:17:45 +0000] "GET / HTTP/1.1" 400 65810 "" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36" 0/95.331
【问题讨论】:
-
你尝试重启你的在线python服务器了吗?
-
它的无服务器我正在使用 aws lambda
-
您的
ALLOWED_HOST在github.com/coffeeincodeout/membership/blob/master/membership/… 中不包含IpzyjitlrO.execute-api.us-east-1.amazonaws.com。如果你想要一个通配符来允许来自亚马逊的所有主机,你可以做ALLOWED_HOST = ["*.execute-api.us-east-1.amazonaws.com"]django-docs。您可能还想设置它以使用env变量,这样您就不需要每次更新设置时都提交zappa-docs -
是的,我删除了它,因为每次添加它时我都会收到 504 错误,因此由于某些奇怪的原因 URL 无法正常工作。我也尝试使用通配符并遇到了同样的问题。
标签: python django django-rest-framework aws-lambda