2015-11-01 83 views
0

我有一个Rails应用程序在端口3000(或任何我想要的端口)上运行,我可以通过浏览到公共IP来访问它:1.2.3.4:3000但我想通过简单地省略端口号来达到相同的页面,因为我的域名注册商只允许公共IP,并且没有端口号。有没有设置的地方可以将来自站点的所有传入流量导向特定端口?如何更改EC2实例的默认端口

回答

4

有许多方法可以做到这一点:

  • 告诉Rails使用端口80本身(见here
  • 使用iptables来转发所有80端口的流量到3000(见here
  • 以ELB为例,端口映射从80到3000(请参阅here
+0

我不知道有一个实际的命令来执行此操作。为我工作的是'sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000' – Csteele5

+1

请注意,您将需要在重新启动后重新应用此规则。有关如何做到这一点,请参阅http://stackoverflow.com/questions/9330694/how-to-permanently-update-iptables。 – jarmod

2

如果url是http并且您的rails应用程序使用端口80,那么您不必在url中指定端口。
如果您的网址是https并且您的rails应用程序使用端口443,则您不必在url中指定端口。
如果使用这两个端口中的任何一个都不是问题,那么您可以尝试。