我在AWS ECS中配置应用程序时遇到问题,如下图:
Opsworks中的Nginx服务器(面向Internet)(EC2实例),将请求转发到我的ECS容器。
部署在AWS ECS中的Docker化应用程序公开了9290端口,位于应用程序负载均衡器的后面,该应用程序负载均衡器侦听端口80并将请求转发到目标组(端口80)。应用程序有一个sidekiq网络,该网络可以很好地运行,但是诸如重试,安静,停止等操作显示为“禁止”,Puma日志显示为“ Rack :: Protection :: HttpOrigin阻止的攻击”。经过大量尝试后,我发现应该在两端的nginx config中设置一些标头,所以我做到了,但是没有用。我以为ALB可能没有将整个请求转发到我的容器,所以我跳过了使用ALB的步骤(仅出于测试目的),它起作用了,我的容器现在为应用程序公开了端口9290,为nginx请求公开了80。
我的理论是ALB不会转发标头。所以我的问题是:我该如何解决?我不在乎在开发环境中没有负载平衡器的应用程序,但在生产环境中却无法做到这一点。
预先感谢