我在默认端口1337上托管了sails.js应用程序。我在端口8080上有一个apache作为其代理:
[root@ip-192-168-0-XX conf.d]# cat nodetest.conf
Listen 8080
<VirtualHost 192.168.0.XX:8080>
Options -Indexes
ProxyRequests on
ProxyPass / http://localhost:1337/
</VirtualHost>
Sails应用程序有一个API。例如,如果我想发布消息,请将其输入我的浏览器:
http://localhost:1337/Message/postMessage
我希望在端口8080上输入相同的地址时会发生这种情况。
http://localhost:8080/Message/postMessage
我对这个Apache的东西很陌生,所以我甚至不知道我现在要做的事情是什么?反向代理?常规代理?重定向?我只是不知道。
答案 0 :(得分:0)
首先,如果您在同一台服务器上安装Apache托管其他网站,我想您真的只需要这样做。
如果您无意在使用Apache的同一服务器上运行其他站点,则可以通过在config / local.js文件中更改sails应用程序中的端口,直接在端口80或8080上直接命中Sails服务器。
更改
// port: process.env.PORT || 1337,
要
port: process.env.PORT || 80,
对于其他应用程序,例如负载平衡或基本代理,我认为nginx将是一个更好的解决方案。
使用Apache作为Sails代理的标准配置是这样的:
<VirtualHost *:8080>
ServerName example.com
ServerAlias www.example.com
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:1337/
ProxyPassReverse http://localhost:1337/
</Location>
</VirtualHost>