设置Apache为nodejs应用程序别名?

问题描述

| 我有一个通过80端口上的apache服务的PHP应用程序。我有一个在3000端口上独立运行的nodejs应用程序。我想从PHP生成的客户端代码向nodejs应用程序发出ajax请求。问题是相同的原始策略不允许使用不同的端口,并且我无法在端口80上同时运行nodejs和apache。 从客户端的角度来看,我理想地要做的是使它们看起来都在端口80上运行。我如何设置apache以将某些请求重新路由/别名/以任何方式发送到nodejs应用程序? 希望有道理。注意:不确定是否可行,或者我是否要以正确的方式进行操作-请接受建议。     

解决方法

        您可以使用反向代理来实现。添加mod_proxy并在vhost文件中的主域下设置一个位置,以代理到本地主机上的端口3000。基本上像这样:
<VirtualHost *:80>
 ServerName example.com
 <Location /api>
   ProxyPass /api http://localhost:3000/
   ProxyPassReverse /api http://localhost:3000/
 </Location>
</VirtualHost>
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...