在Amazon EC2上托管MEAN应用程序 - 如何让域名链接到我的网站?

时间:2016-04-01 21:04:05

标签: dns web-hosting meanjs bitnami

以下是我的情况:我按照本教程在Amazon EC2实例上使用Bitnami MEAN-Image托管我的网站 - https://scotch.io/tutorials/deploying-a-mean-app-to-amazon-ec2-part-1。然后,我在我的EC2实例上购买了一个域名并设置了我的弹性IP地址,并且我已经链接了域和实例。如果我在端口3000上运行我的应用程序(npm start),我可以通过访问mydomain.com:3000看到该应用程序,但是如果我在端口80上运行我的应用程序,或者如果我根本不运行我的应用程序那么我当我去mydomain.com或mydomain.com:80时,我被带到默认的Bitnami MEAN页面。如何在不指定端口的情况下让我的应用程序出现在mydomain.com上?

编辑问这个;即使不使用我购买的域名,是否可以将我的EC2实例公开dns默认为我的应用程序的主页而不是默认为Bitnami MEAN主页?

2 个答案:

答案 0 :(得分:1)

如果您已安装Bitnami MEAN堆栈,您将在端口80上运行Apache服务器,它将提供位于/opt/bitnami/apache2/htdocs的默认页面。

如果您希望Apache默认为您的应用程序提供服务,您可以按照以下步骤执行此操作:

  • 在您的端口启动您的应用程序,例如端口3000。
  • 转到/opt/bitnami/apache2/conf/bitnami/bitnami.conf并在默认的虚拟主机配置中添加以下行。它应该是这样的:
  

< VirtualHost 默认:80>

     

...

     

ProxyPass / http://127.0.0.1:3000/

     

ProxyPassReverse / http://127.0.0.1:3000/

     

...

     

< /虚拟主机>

现在,您应该可以通过http://your-ip/

访问您的应用

答案 1 :(得分:0)

您必须将端口80重定向到3000,因此无论何时进入域或IP,它都会到达端口80.

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

使用此功能,这应该将端口80调用重定向到3000