如何在Amazon EC2上设置端口转发

我有一个在Amazon EC2上运行的Web应用程序。 它监听9898端口。

我可以通过inputIP地址和端口号来访问它。

例如1.2.3.4:9898

但是,我真正希望能够做的是不必input端口号。

研究这个问题,看起来像端口转发可能是解决scheme – 即将在默认端口(80)上收到的http请求转发到我的非标准端口(9898)。

这是正确的方法吗? 如果是这样,我如何在EC2上设置?

如果不是,那么我该如何实现我想要的?

在此先感谢您的帮助。

更新

我应该提到EC2实例是Windows Server 2012 AMI。

在没有自行安装的情况下,最简单的方法是在实例前放置一个Amazon Elastic Load Balancer。 这些允许您按照您的意愿转发端口。

你有两个select。

1)设置一个反向代理来转发HTTP请求(假设它是HTTP)到不同的端口。

它应该像下面这样简单:安装apache,启用proxy_http模块,放置如下所示:

ProxyRequests Off ProxyPreserveHost On <Proxy *> Order allow,deny Allow from all </Proxy> ProxyPass / http://localhost:9898/ ProxyPassReverse / http://localhost:9898/ 

2)设置IP表来转发报文 。

因为我看到了关于使用iptables的评论,我将分享我在ec2 linux的经验。 我发现了一篇关于转发Node.js端口的优秀文章。 如果跳过编辑sysctl.conf的说明,您将看到转发说明。 我的Linux程序与Ubuntu略有不同。 文章是: http : //www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2

工作是通过SSH完成的。 我遇到的唯一问题是我预先路由了两次,没有冲刷iptables之间,我的web应用程序不可见,直到我刷新和重新加载。 我知道这是一个可怕的形象来结束,抱歉。