我使用Django和我有ALLOWED_HOSTS
設置,包括我EC2
的私有IP按如下:Django的ALLOWED_HOSTS亞馬遜ELB
import requests
EC2_PRIVATE_IP = None
try:
EC2_PRIVATE_IP = requests.get('http://169.254.169.254/latest/meta-data/local-ipv4', timeout=0.01).text
except requests.exceptions.RequestException:
pass
if EC2_PRIVATE_IP and not DEBUG:
ALLOWED_HOSTS.append(EC2_PRIVATE_IP)
問題是,上面並沒有考慮到ELB
將請求轉發給我的EC2
實例。有沒有辦法通過編程來完成這項工作?我可以請求公共IP地址還是設置檢查DNS?
我看到與ELB的公共IP地址這個問題。
我認爲它應該是你的域名,而不是你的IP。我有EBS,我有這個'ALLOWED_HOSTS = ['.elasticbeanstalk.com','mydaomain.com']'。還要確保打開安全組中的所有端口,並在負載均衡器中添加偵聽器。 – WayBehind
我有'[「.compute-1.amazonaws.com」,「.elb.amazonaws.com」,「.mydaomain.com」]',但我得到了電子郵件54.xxx.xxx.xxx全部來自亞馬遜。當我把IP地址放入瀏覽器時,它會進入我的主頁。很明顯,這與AWS有關。有沒有可能是Route53? – KVISH
您可以分配彈性IP,但沒有必要這樣做。您的域名DNS應該指向負載平衡器DNS – WayBehind