我正在使用 apache2 的本地代理来做一些开发工作(OSX 10.8):
SSLProxyEngine on
ProxyPass /app https://my.server.org/app
ProxyPass /web https://my.server.org/web
一切正常,只是 Apache2 以某种方式覆盖了content-type
html 文件的响应标头。如果我请求的https://my.server.org/app/index.html
内容类型为text/html
,而http://localhost/app/index.html
我可以看到正确的页面,但内容类型设置为 ,text/plain
导致浏览器显示未呈现的 html 代码。这似乎只发生在 html 文件中。为什么会发生这种情况?
答案1
Content-Type
因此问题似乎是由于配置错误,后端服务器没有为某些文件设置任何标头。发生这种情况时,会像在 Apache 中一样mod_proxy
插入Content-Type
基于本地配置的配置。DefaultType
我一直没能弄清楚是什么导致了 OSX 和 Ubuntu 之间的不同行为,但在我们修复了后端服务器始终发送Content-Type
响应标头之后,问题就消失了。