Django在EC2上的允许主机设置

8

我刚刚部署了一个Amazon EC2 bitnami django堆栈,但是在settings.py文件中的ALLOWED_HOSTS设置上遇到了问题。我不确定应该使用哪个主机名或者在哪里可以找到它。我尝试使用内部IP、外部IP、本地主机名和域名,但唯一能使500错误页停止出现的方法是:

ALLOWED_HOSTS = ['*']

但是,这是一个安全问题。我错过了什么吗?


1
将其设置为 ['.yourdomain.com']。其中 yourdomain.com 是您用于访问它的域名。 - Bibhas Debnath
搞定了!谢谢。我之前尝试过['www.domain.com'],但不起作用。为什么加上www会出问题? - bcoop713
1个回答

15

将其设置为 -

ALLOWED_HOSTS = [
  '.yourdomain.com'
]

其中yourdomain.com是您用于访问的域名。

文档中说:

此列表中的值可以是完全限定名称(例如“www.example.com”),这种情况下它们将与请求的Host标头完全匹配(不区分大小写,不包括端口)。以句点开头的值可用作子域通配符: “.example.com”将匹配example.com、www.example.com和example.com的任何其他子域。

当您将其设置为www.yourdomain.com时,必须存在某些请求到除www之外的其他子域。这导致了问题。我无法确定具体原因,因为我没有那么多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接