EC2实例配置:
docker构成运行
(0.0.0.0/0)
,
nginx-proxy
,acme-companion
和其他服务。
nginx-proxy映射到主机上的端口Django (web)
和
80
。
virtual_host设置为我的域。virtual_port正确设置为443
- EC2实例安全组:
纠正配置(失败):仅来自ALB的安全组(例如SG-XXXXXXXX)的入站HTTPS(端口443)。
themporary解决方案(工作):允许0.0.0.0/0.
允许入站HTTPS(端口443)
- 在EC2实例上禁用了Source/目标检查。
-
Request Flow:
- client请求 - >路由53->应用程序负载平衡器(https:443) - > aws waf-> alb目标组(https:443) - > ec2实例(端口443,nginx -proxy) - > docker容器(端口8000) ,django)
Alb配置:
-
port 80(HTTP)重定向到HTTPS(443)。
端口443(https)向目标组的列表。
Alb Security Group:允许从0.0.0.0/0.- 允许在端口80和443上入站。
totarget Group健康检查:
协议:https
港:443
Path:/api/v1/health/(我在django应用程序中具有此终点
当EC2实例的安全组正确允许仅来自ALB的安全组流量时,ALB健康检查是否会失败,即使源/目的地检查已禁用?
这为我工作:
尝试将健康检查路径转发到项目的根目录
然后在容器内重新启动nginx