强制快速服务器作为默认端口AWS

时间:2017-11-05 21:30:38

标签: node.js apache .htaccess amazon-web-services express

我在AWS ec2实例上托管我的网站。我想在端口8080(或类似的东西)上运行Node.JS服务器,我希望所有访问example.com的用户都被发送到example.com:8080。出于某种原因,重写example.com - > example.com:8080不起作用,因为AWS不允许访问example.com:someport。

如何在不使用普通重定向的情况下强制所有用户使用example.com:8080? (我可能完全错了,只是做得不正确)

2 个答案:

答案 0 :(得分:1)

试试这个

RewriteEngine On
RewriteCond  %{SERVER_PORT} !^8080$
RewriteRule ^/(.*) http://www.example.com:8080/$1

答案 1 :(得分:-1)

你必须使用原始EC2吗?这可能是不必要的低水平。您可以改为使用UpElasticBeanstalk吗?任何一个都应该让这更容易。

另外,为什么需要在端口8080上?我的猜测是,因为当你在本地开发时,你使用那个端口(因为一个端口不使用端口80在本地开发)。为什么没有设置const port = process.env.PORT || 80的ENV var,然后在本地开发时用PORT=8080 node server.js调用节点。

当然,节点崩溃了。很多。这是它的事情。因此,您不希望在ec2实例上运行命令node filename.js ...您想要使用foreverpm2。而且,你真的想要一个反向代理(Nginx)向你的节点实例发送流量......这就是我说使用Up或Beanstalk的原因。但如果你必须自己做,this演练涵盖了基础。