Http 能否将AWS负载平衡器配置为过滤掉请求?
我在AWS Elastic Beanstalk上部署了一个Django应用程序。Django被配置为只服务特定主机名(允许的\u主机)的请求。如果请求中的主机信息不匹配,它将引发返回500响应代码,这很好 但是,我注意到,我收到了很多这样的请求,或者通过IP地址发送请求,或者通过其他域名发送请求。因此,我想配置设置,以便负载平衡器在头信息中没有正确的主机名时拒绝请求 这可能吗?我一直在尝试检查AWS控制台中的设置,但找不到如何执行此操作的任何信息。我可以修补EC2实例以拒绝这些请求,这样它就不会到达Django,但我希望尽早停止它 现在流动:Http 能否将AWS负载平衡器配置为过滤掉请求?,http,amazon-web-services,amazon-elastic-beanstalk,Http,Amazon Web Services,Amazon Elastic Beanstalk,我在AWS Elastic Beanstalk上部署了一个Django应用程序。Django被配置为只服务特定主机名(允许的\u主机)的请求。如果请求中的主机信息不匹配,它将引发返回500响应代码,这很好 但是,我注意到,我收到了很多这样的请求,或者通过IP地址发送请求,或者通过其他域名发送请求。因此,我想配置设置,以便负载平衡器在头信息中没有正确的主机名时拒绝请求 这可能吗?我一直在尝试检查AWS控制台中的设置,但找不到如何执行此操作的任何信息。我可以修补EC2实例以拒绝这些请求,这样它就不会
Client -> Load Balancer -> EC2 instance -> Nginx -> Django
<-500 error- Django
Client->Load Balancer->EC2实例->Nginx->Django
负载平衡器
无法将弹性负载平衡器配置为筛选出请求
如果允许的连接基于IP地址,则可以使用VPC ACL仅允许来自特定IP地址的连接。所有其他人将接收ELB级别的失败连接
如果您允许的连接不是基于IP地址的,您可以结合Amazon Web Application Firewall(WAF)查看CloudFront
WAF可以配置为在web请求级别按IP地址、URL、查询字符串、标题等进行过滤。该模式仅允许基于主机名进行过滤。如果有人试图通过IP或其他域(允许的域除外)进行访问,则应拒绝他们。WAF看起来是我需要走的路。和小更正,你指的是网络应用防火墙当你提到。谢谢
Client -> Load Balancer
<-reject- Load Balancer