2017-06-04 63 views
1

我有一個地址說example.com並已將其添加到allowed_hosts列表中。但是當我訪問該網站時,我得到 ALLOWED_HOSTS ['127.0.0.1', '::1', '178.XX.XX.XXX', 'xx80::xx81:xxx:xx3x:x12x%eth0']allowed_host更改無效

在調試錯誤頁面,而實際的settings.py文件讀取['178.XX.XX.XXX','example.com']。我想到settings.py的更改沒有註冊,因爲我可以從列表中刪除178.XX.XX.XXX,並仍然訪問該站點(清除瀏覽器緩存後)我重新啓動了nginx,gunicorn和整個服務器都無濟於事。整個事情是在Ubuntu 16.04上運行django 1.8並使用nginx和gunicorn。任何想法allowed_hosts這個覆蓋可能來自?

+0

也許嘗試刪除項目樹中的所有* .pyc調用? – FlipperPA

+0

除了刪除* .pyc文件,檢查以確保gunicorn路徑是正確的,並指向正確的應用程序。 –

回答

2

好的,這是令人尷尬的,但是從Digital Ocean在16.04上的django的One-cick安裝在settings.py的最後增加了一行,其中ALLOWED_HOSTS被重新定義。

# Find out what the IP addresses are at run time 
# This is necessary because otherwise Gunicorn will reject the connections 
def ip_addresses(): 
    ip_list = [] 
    for interface in netifaces.interfaces(): 
     addrs = netifaces.ifaddresses(interface) 
     for x in (netifaces.AF_INET, netifaces.AF_INET6): 
      if x in addrs: 
       ip_list.append(addrs[x][0]['addr']) 
    return ip_list 

# Discover our IP address 
ALLOWED_HOSTS = ip_addresses() 
ALLOWED_HOSTS.append('.example.com') #I added this line 

因此,爲該行添加追加可修復該問題。