我有一个 PHP 应用程序通过端口 80 上的 apache 提供服务。我有一个在端口 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>
关于apache - 将 apache 设置为 nodejs 应用程序的别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6477849/