2015-11-01 85 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中指定端口。
如果使用這兩個端口中的任何一個都不是問題,那麼您可以嘗試。