[英]Send subdomain to node.js
我的工作在运行apache的ubuntu服务器(10.10)上运行几个不同的内部Web应用程序。 我目前正在开发另一个Web应用程序,我正在认真考虑在定制的node.js Web服务器上进行开发。 我想要这样做的理由是:
我的问题是,在我有apache监听端口80的服务器上,如何将某个子域传递给node.js. 我已经看过几篇关于使用apache虚拟主机传递它的文章,但这似乎打败了使用node.js的目的。 如果我必须通过apache,那么我避免apache / IIS的所有三个原因都已自我解决。
我知道我可以使用不同的端口(:8080?),但从最终用户的角度来看,放入自定义端口非常困惑。 还有其他想法吗?
谢谢
<VirtualHost *:80>
ServerName subdomain.yourdomain.com
ProxyPreserveHost on
ProxyPass / http://localhost:8080/
</VirtualHost>
感谢http://www.chrisshiplet.com/2013/how-to-use-node-js-with-apache-on-port-80/
如何做反过来的事情:将节点绑定到端口80,处理针对子域的流量并将其用作apache的反向代理以用于其他所有事情?
如果socket.io节点正在运行,请确保启用少量apache mods:
在文件/etc/apache2/sites-available/chat.example.com.conf中
<VirtualHost *:80>
ServerName chat.example.com
<Location "/">
ProxyPreserveHost On
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
当然service apache2 reload
您可以在apache中为新站点配置虚拟主机,并在其中添加永久重定向到node.js使用的localhost和端口。
这是我在具有多个其他虚拟主机的服务器上运行的方式,以及在端口3000上运行的node.js应用程序:
NameVirtualHost *:80
[为简洁省略了其他虚拟主机]
...
ServerName mynewsite.com RedirectMatch(。*) http:// localhost:3000 $ 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.