【发布时间】:2016-03-29 11:41:21
【问题描述】:
问。如何在 Elastic beantalk 实例上设置 django ALLOW_HOSTS 以允许 Elastic Load Balancer IP?
背景
我在 elastic beanstalk 上部署了 django 网站。网站域名被添加到ALLOW_HOSTS,因此django可以正确接受正常的请求。
ALLOWED_HOSTS = ['.mydomain.com']
Elastic Load balancer 直接使用 IP 地址访问 Elastic beanstalk 实例进行健康检查,因此下一行允许进行健康检查:
# add elastic beanstalk instance local ip
aws_ip = requests.get('http://169.254.169.254/latest/meta-data/local-ipv4', timeout=0.1).text
ALLOWED_HOSTS.append(aws_ip)
但我仍然收到无效的 HOST IP 错误,似乎弹性 beantalk 实例是使用弹性负载均衡器公共 IP 访问的。网上有 EC2 部署的解决方案,因为您可以设置 HTTPD 软件在 IP 直接访问它时设置 http HOST 标头。但是我们不能在弹性 beantalk 上配置 apache。那么如何将弹性负载均衡器 IP 添加到ALLOW_HOSTS?
【问题讨论】:
标签: python django amazon-web-services amazon-elastic-beanstalk django-settings