Django应用程序的公共IP工作,但是当一个logging更新时`400错误的请求错误`

我有一个使用nginx和gunicorn在Ubuntu 16.04 EC2实例上部署的Django应用程序。

不幸的是,在我的公共IP成功部署之后,使用公共IP更新我的Alogging在我的域中产生了404 Bad Request错误 – 即使等了很长时间以确保DNS更改传播。 通过公共IP访问应用程序继续工作。 我确实联系了我的名字服务器主机,以确认我是否正确地设置了我的Alogging设置:他们说DNS更改成功了,但是没有帮助,因为它似乎是AWS的一个问题。

是否有一个特定的原因,为什么在我的Alogging中使用我的公共IP不能正常工作,并没有指向我的应用程序?

非常感谢任何能够帮助我成功将我的域名指向已部署的django项目的人员。 目前,通过公网IP访问应用程序仍然正常工作,Alogging似乎更新,但任何尝试加载域(不是直接IP),都会出现400错误请求错误。

我想出了一个决议。 它似乎使用公共IP是可以接受的,但我没有把我的域名都添加到ALLOWED_HOSTS文件和我的nginxconfiguration。

执行以下操作,我能够让我的域成功指向我的AWS EC2部署:

我做了三件事情:

  • 首先,我更新了我的ALLOWED_HOSTS
    • ALLOWED_HOSTS = ['12.345.67.890', 'sub.domain.com', 'www.sub.domain.com']
  • 然后,我还编辑了我的nginxconfiguration中的server_name设置:
    • server_name 12.345.67.890 sub.domain.com www.sub.domain.com;
  • 最后,我重新启动了nginx并重新启动了机器,以确保一切正常。
    • sudo service nginx restart
    • sudo reboot

在此之后,我的网页成功加载。