将我在 Namecheap 上的域与 Heroku django (python) 应用程序链接时出现问题
Having issues linking my domain on Namecheap with Heroku django (python) app
我已经阅读了很多关于如何执行此操作的文章,并且相信我已经很好地遵循了它。
我从 Namecheap 买了一个域名 example.com
并添加到我的 heroku 应用程序,从 Heroku 复制了自定义 DNS 并添加到我的 namecheap 域设置,如下所示:
但是每当我访问我的自定义域时,我的屏幕上都会收到错误请求 (400),并且我的 heroku 日志显示:
2019-06-25T16:36:51.564888+00:00 app[web.1]: 10.11.247.75 - - [25/Jun/2019:16:36:51 +0000] "GET / HTTP/1.1" 400 26 "-" "Mozilla/5.0 (Linux; Android 6.0; Infinix HOT 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Mobile Safari/537.36"
2019-06-25T16:36:51.568697+00:00 heroku[router]: at=info method=GET path="/" host=www.coleruche.com request_id=459dbc14-b837-404a-893e-0e80d1d763cb fwd="105.112.50.227,66.249.93.222" dyno=web.1 connect=0ms service=20ms status=400 bytes=199 protocol=http
2019-06-25T16:36:52.191660+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=www.coleruche.com request_id=d2df8bb7-c41a-43dd-9c5f-3f964ea14c9f fwd="105.112.50.227,66.249.93.208" dyno=web.1 connect=0ms service=16ms status=400 bytes=199 protocol=http
2019-06-25T16:36:52.193341+00:00 app[web.1]: 10.93.215.14 - - [25/Jun/2019:16:36:52 +0000] "GET /favicon.ico HTTP/1.1" 400 26 "http://www.coleruche.com/" "Mozilla/5.0 (Linux; Android 6.0; Infinix HOT 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Mobile Safari/537.36"
但是当我为我的应用程序转到 heroku 域时,例如 example.herokuapp.com,一切正常。
我相信这意味着我已经很好地链接了它并且我的 heroku 应用程序收到了请求,但是我不能从注销的错误中说出太多。为什么会出现 400 错误?
该应用程序是一个 django (Python) 应用程序,我已经安装了 WhiteNoise 和其他需要的软件包,它在 heroku/python buildpack 上运行。
我怀疑您需要将域添加到 Django 的 ALLOWED_HOSTS
,例如
ALLOWED_HOSTS = ['.example.com']
我已经阅读了很多关于如何执行此操作的文章,并且相信我已经很好地遵循了它。
我从 Namecheap 买了一个域名 example.com
并添加到我的 heroku 应用程序,从 Heroku 复制了自定义 DNS 并添加到我的 namecheap 域设置,如下所示:
但是每当我访问我的自定义域时,我的屏幕上都会收到错误请求 (400),并且我的 heroku 日志显示:
2019-06-25T16:36:51.564888+00:00 app[web.1]: 10.11.247.75 - - [25/Jun/2019:16:36:51 +0000] "GET / HTTP/1.1" 400 26 "-" "Mozilla/5.0 (Linux; Android 6.0; Infinix HOT 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Mobile Safari/537.36"
2019-06-25T16:36:51.568697+00:00 heroku[router]: at=info method=GET path="/" host=www.coleruche.com request_id=459dbc14-b837-404a-893e-0e80d1d763cb fwd="105.112.50.227,66.249.93.222" dyno=web.1 connect=0ms service=20ms status=400 bytes=199 protocol=http
2019-06-25T16:36:52.191660+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=www.coleruche.com request_id=d2df8bb7-c41a-43dd-9c5f-3f964ea14c9f fwd="105.112.50.227,66.249.93.208" dyno=web.1 connect=0ms service=16ms status=400 bytes=199 protocol=http
2019-06-25T16:36:52.193341+00:00 app[web.1]: 10.93.215.14 - - [25/Jun/2019:16:36:52 +0000] "GET /favicon.ico HTTP/1.1" 400 26 "http://www.coleruche.com/" "Mozilla/5.0 (Linux; Android 6.0; Infinix HOT 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Mobile Safari/537.36"
但是当我为我的应用程序转到 heroku 域时,例如 example.herokuapp.com,一切正常。
我相信这意味着我已经很好地链接了它并且我的 heroku 应用程序收到了请求,但是我不能从注销的错误中说出太多。为什么会出现 400 错误? 该应用程序是一个 django (Python) 应用程序,我已经安装了 WhiteNoise 和其他需要的软件包,它在 heroku/python buildpack 上运行。
我怀疑您需要将域添加到 Django 的 ALLOWED_HOSTS
,例如
ALLOWED_HOSTS = ['.example.com']