2013-05-09 32 views
6

我剛部署到Amazon EC2 bitnami djnago堆棧,並且在settings.py文件中遇到ALLOWED_HOSTS設置問題。我不知道要使用哪個主機名或在哪裏找到它。我嘗試過內部IP,外部IP,本地主機,域名。唯一讓500錯誤頁面停止的是:在EC2上爲Django允許的主機設置

ALLOWED_HOSTS = ['*'] 

但是,這是一個安全問題。我錯過了什麼?

+1

將其設置爲'['.yourdomain.com']'。其中'yourdomain.com'是您用來訪問它的域名。 – 2013-05-09 16:54:29

+0

做到了!謝謝。我以前曾嘗試['www.domain.com'],但沒有奏效。爲什麼www搞砸了? – bcoop713 2013-05-09 16:57:37

回答

12

將其設置爲 -

ALLOWED_HOSTS = [ 
    '.yourdomain.com' 
] 

哪裏yourdomain.com是你使用訪問它的域名。

documentation說 -

價值觀在這個列表可以是完全合格的名稱(如 「www.example.com」),在這種情況下,他們將反對 請求的主機頭正好匹配(不區分大小寫,不包括端口)。 以句點開頭的值可以用作子域通配符: '.example.com'將與example.com,www.example.com以及example.com的任何其他 子域相匹配。

當您將其設置爲www.yourdomain.com時,一定有一些請求到另一個子域,而不是www。這造成了麻煩。我不能完全說,因爲我沒有那麼多的信息。