设置apache来为一个nodejs应用程序设置别名?

时间:2011-06-25 12:56:01

标签: apache routing node.js alias ports

我有一个PHP应用程序通过端口80上的apache提供服务。我有一个nodejs应用程序在端口3000上独立运行。我想从PHP生成的客户端代码向nodejs应用程序发出ajax请求。问题是相同的源策略不允许不同的端口,我不能在端口80上运行nodejs和apache。

我理想的做法是让它们从客户端的角度看起来都在端口80上运行。如何设置apache以重新路由/别名/对nodejs应用程序的任何特定请求?

希望这是有道理的。注意:不确定这是否可行,或者我是否以正确的方式进行 - 请接受建议。

1 个答案:

答案 0 :(得分:9)

你可以通过反向代理来做到这一点。添加mod_proxy并在vhost文件中的主域下设置一个位置,以代理到localhost上的端口3000。基本上是这样的:

<VirtualHost *:80>
 ServerName example.com
 <Location /api>
   ProxyPass /api http://localhost:3000/
   ProxyPassReverse /api http://localhost:3000/
 </Location>
</VirtualHost>