我正在使用Apache 2.2.12运行一个Web服务器作为绑定到端口80的默认Web服务器。 对于一个新项目,我需要通过端口80将Apaches绑定域之一代理到Node Express Server 4.7,它运行在端口4000上的同一台机器上。
单独提供的Express流程运行正常,预期结果正常。 意思是,当我访问my-domain.com:4000时,一切看起来都不错。
好的,所以我在Apache中设置了一个虚拟主机,它应该将my-domain.com代理到端口4000上的Express服务器。
我尝试代理localhost:4000或my-domain.com:4000,但Apache总是将Express响应呈现为纯文本,而不是真正的HTML。 这意味着我在浏览器中看到HTML-String而不是解析的网站。 当您通过检查器浏览源代码时,浏览器只会将Express字符串放在嵌套在预标记中的自己的html-wrapper中。
我的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>
任何帮助或建议将不胜感激。 THX。
答案 0 :(得分:0)
在apache2.conf中找到参数
设定:
DefaultType text/plain
到
DefaultType text/html
解决了。