假设我corporatewebsite.com
正在侦听端口80.这是一个appache / WordPress网站。
我有一个节点应用程序,我想回复sub.corporatewebsite.com
节点应用程序当前正在运行Express。我现在可以让它听一个单独的端口,但如果指向端口80,我的服务将无法启动,因为它已经在使用。
如何让apache和节点都监听端口80,但让节点响应子域?
答案 0 :(得分:1)
您可以使用像Nginx这样的反向代理来路由您的子域。
以下是nginx配置的示例,您可能需要根据您的项目和服务器完成:
server {
listen 80;
server_name corporatewebsite.com;
location / {
[ ... some parameters ... ]
include proxy_params; // Import global configuration for your routes
proxy_pass http://localhost:1234/; // One of your server that listens to 1234
}
}
server {
listen 80;
server_name sub.corporatewebsite.com;
location / {
[ ... some parameters ... ]
include proxy_params;
proxy_pass http://localhost:4567/; // The other server that listens to 4567
}
}
例如,当nodejs正在侦听端口4567时,您必须配置apache2侦听端口1234。
如果你喜欢这样,一个好的做法是阻止从外部直接访问你的端口1234和4567(例如使用iptables)。
我认为这篇文章可能对您有用:Node.js + Nginx - What now?