【问题标题】:How do I route all traffic to my EC2's ip address to a specific port?如何将所有流量路由到我的 EC2 的 IP 地址到特定端口?
【发布时间】:2020-01-07 06:18:24
【问题描述】:
我有一个在 EC2 实例的端口上运行的基本 Web 应用程序。我还在 Route53 中创建了一条 A 记录,它将我拥有的域名指向 EC2 实例的 IP 地址。
当我直接访问ip-address:port时,它可以正常工作,但是由于a记录没有指向该特定端口,因此无法通过域名访问网站。
如何指定一个端口,该 IP 地址的所有请求都应路由到该端口?
【问题讨论】:
-
您不能在 Route53(或任何 DNS)中指定端口,因为 DNS 仅将名称转换为 IP 地址。您应该重新配置您的应用程序以在端口 80 上运行,或者添加将在端口 80(和/或 443)上运行的 reverse proxy 并将 http 请求转发到您的应用程序。
标签:
amazon-ec2
webserver
amazon-route53
【解决方案1】:
端口由您使用的协议引用。
如果您使用 http,您将连接到端口 80。https 使用 443、ftp 21、smtp 25 以及许多其他端口(它们被称为服务的默认端口,但它们可以使用所有其他定义的端口)。
您可能正在运行应用程序,侦听某些不同的端口(但使用协议 http),这就是您可以通过输入 http://ip-address:port
来访问它的原因
您可以通过仅输入http://ip-address 来访问它,将其设置为侦听端口 80(您需要 root 权限才能执行此操作)或设置从端口 80 到您的应用程序端口的重定向(您可以使用纯端口重定向使用iptables 或(更好的)反向代理软件。它可以是上面评论中提到的 apache,也可以是 nginx 或 haproxy 或其他东西(你还没有指定操作系统 - 主要用于 linux)。
希望有帮助