Proxypass仅在主机端口中使用Apache

时间:2017-12-05 11:41:46

标签: node.js apache proxypass

我有一个节点应用在端口1234上工作。因为我不想在任何地方显示端口号,我在Apache中有一个ProxyPass规则:

<VirtualHost *:80>
  ProxyPass /node http://example.com:1234
  ProxyPassReverse /node http://example.com:1234
</VirtualHost>

它完美运行:当我在浏览器中输入http://example.com/node时,会显示预期的页面。 当我输入http://example.com:1234时,我也不希望该网址显示在我的浏览器中。这就是为什么我把javascript更改为window.location如果有&#34; 1234&#34;在URL ...

这不是一个好的解决方案,因为页面必须在重定向之前加载,并且用户会看到端口号。我想知道是否可以使用Apache规则立即将example.com:1234重定向到example.com/node。我搜索了所有文档,但解决方案并不明显......

1 个答案:

答案 0 :(得分:1)

如果您无法更改SSO重定向网址,我建议如下:

  1. 在不同的端口上运行您的应用程序(例如1235)

  2. 在端口1234上创建一个额外的VirtualHost侦听,并使用它重定向到:80 Redirect / http://example.com/

  3. 修改现有的ProxyPass网址以转至端口1235