使用 Apache 2.4 的子路径中的 Node.js 应用程序

使用 Apache 2.4 的子路径中的 Node.js 应用程序

我在 DigitalOcean 上有一个 Ubuntu 14.04 x86 droplet,带有 Apache 2.4.7(Ubuntu 存储库中的默认版本)。此外,我在端口 3000 上运行一个 Node.js 应用程序,并且想要将/node*根路径映射到/*Node.js 服务器(使用 Express)。

我尝试过的:

  • mod_proxy启用a2enmod proxy
  • 修改并在末尾/etc/apache2/sites-available/000-default.conf添加一行。ProxyPass /node http://localhost:3000/VirtualHost

我得到的是:

  • /node代理到http://localhost:3000/
  • /node/help代理http://localhost:3000/(其中是不正确的)。

为了实现这一点,我还需要做其他修改吗?提前致谢!

答案1

我发现我已经strict routing在 Express 中设置了,但是它不能容忍//help这种情况。

解决方案: 省略指令中的尾部斜杠ProxyPass,如下所示:

ProxyPass /node http://localhost:3000

相关内容