如何防止通过 IP 地址访问 AWS beanstalk 应用程序?
Posted
技术标签:
【中文标题】如何防止通过 IP 地址访问 AWS beanstalk 应用程序?【英文标题】:How to prevent accesing AWS beanstalk application through IP address? 【发布时间】:2021-10-04 18:40:05 【问题描述】:我有一个托管在 AWS beanstalk 上的 docker 应用程序,并且我已经使用 R53 配置了此类应用程序以通过域名访问它,例如 example.com。该应用程序还有一个 IP 地址,例如 50.50.50.50。
我需要的是,当用户在浏览器中输入 http://50.50.50.50 时,它会被重定向到 http://example.com,我如何在 AWS 中实现这一点?
谢谢
【问题讨论】:
您的应用程序必须这样做,例如使用 nginx 配置。 R53 与此无关。 是不是只能通过一些AWS配置来实现? 也许如果你有 ALB,你可以做一些基于 IP 的重定向。但我不确定。 【参考方案1】:How to block accessing the beanstalk web app via ip address 这里的回复帮助我使用 ELB 规则将 ip 地址重定向到域名。
【讨论】:
【参考方案2】:您所说的“阻止通过 IP 访问”的意思不是很清楚。
如果 IP 是公开的,您将无能为力。这就是 TCP/IP 的工作原理。
但是,如果您的目的是使 Beanstalk 生成的原始名称对公众隐藏,那么您可以在 VPC 中部署 Beanstalk 应用程序,并将其负载均衡器设置为“内部”。这可以防止负载均衡器拥有公共 IP。然后,您可以拥有一个具有公共 IP 的公共负载均衡器,域名将解析到该公共 IP。您仍然有外部负载均衡器的公共 IP,但无法访问由 Beanstalk 创建和管理的负载均衡器。
如果您想要使用 AWS 中的内部 DNS 区域,那么您将不需要外部可访问(来自互联网)的负载均衡器。这样您的应用程序就无法从 Internet 访问。
【讨论】:
以上是关于如何防止通过 IP 地址访问 AWS beanstalk 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章