如何防止通过 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 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

通过 AWS OpsWorks Nginx/Unicorn 服务器上的直接 IP 地址禁用 Web 访问

如何防止直接访问 IP Express node.js

AWS EC2 Windows实例无法通过公共IP访问

如何修复AWS DMS到RDS的连接错误?

通过DHCP指派的IP地址时常变动是怎么回事?如何防止?

php如何防止网站内容被采集