【发布时间】:2015-07-03 21:45:59
【问题描述】:
我正在运行一个使用 Apache 2.2.12 作为绑定到端口 80 的默认网络服务器的网络服务器。 对于一个新项目,我需要通过端口 80 将一个 Apache 绑定域代理到在端口 4000 上运行在同一台机器上的 Node Express Server 4.7。
单独服务的 Express 进程运行良好,具有预期的结果。 意思是,当我访问 my-domain.com:4000 时,一切看起来都不错。
好的,所以我在 Apache 中设置了一个虚拟主机,它应该将 my-domain.com 代理到端口 4000 上的 Express 服务器。
我尝试代理到 localhost:4000 或 my-domain.com:4000,但 Apache 总是将 Express 响应呈现为纯文本而不是真正的 HTML。 这意味着我在浏览器中看到了 HTML 字符串,而不是解析后的网站。 当您通过检查器浏览源代码时,浏览器只会在其自己的 html-wrapper 中回显 Express 字符串,该 html-wrapper 嵌套在 pre-tag 中。
我的 Apache-Config 如下所示:
<VirtualHost *:80>
ServerName my-domain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:4000/
ProxyPassReverse / http://locahost:4000/
</VirtualHost>
任何帮助或建议将不胜感激。 谢谢。
【问题讨论】:
标签: node.js apache express proxy mod-proxy