【发布时间】:2018-06-23 04:43:54
【问题描述】:
我正在尝试将 Django 应用程序部署到 Heroku。运行heroku local 命令并转到http://0.0.0.0:5000 后出现以下错误
Invalid HTTP_HOST header: '0.0.0.0:5000'. You may need to add '0.0.0.0' to ALLOWED_HOSTS
但是,允许的主机已经像这样设置了。我的setting.py文件:
cwd = os.getcwd()
if cwd == '/app' or cwd[:4] == '/tmp':
import dj_database_url
DATABASES = {
'default': dj_database_url.config(default='postgres://localhost')
}
#honorowanie naglowka xforwardedproto dla request.is_secure()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
#zezwolenie na wszystkie naglowki hosta
ALLOWED_HOSTS = ['0.0.0.0']
#konfiguracja zasobow statycznych
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
最初我允许将主机设置为['*'],但效果不佳。
我正在使用 gunicorn,还尝试使用 pkill gunicorn 重新启动它,但这没有帮助。
有没有更好的方法来重新启动 gunicorn 或其他解决问题的方法?
【问题讨论】:
-
“然后转到0.0.0.0:5000”是什么意思?由于 0.0.0.0 不是有效的 IP 地址...
-
当我运行
heroku local时,[2018-06-22 22:33:34 +0200] [1997] [INFO] Listening at: http://0.0.0.0:5000 (1997)行出现在终端中。我只是从这一行转到链接。 -
这意味着它绑定到这台机器上的所有IP,见stackoverflow.com/questions/1621457/about-ip-0-0-0-0-in-django