我正在测试将我的 Django 应用程序部署到 AWS 的 Fargate 服务中。
一切似乎都在运行,但是由于 Application Load Balancer 正在使用主机的本地 IP 向我的 Django 应用程序发送请求,因此我收到了运行状况检查错误。这在日志中给了我一个允许的主机错误。
无效的 HTTP_HOST 标头:“172.31.86.159:8000”。您可能需要将“172.31.86.159”添加到 ALLOWED_HOSTS
我尝试在任务启动时获取本地 ip 并将其附加到我的 ALLOWED_HOSTS,但这在 Fargate 下失败:
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:
ALLOWED_HOSTS.append(EC2_PRIVATE_IP)
有没有办法获取 ENI IP 地址,以便我可以将其附加到 ALLOWED_HOSTS?