我正在使用mod_proxy_html在Apache上公开Redmine。
CSS中有一些细微的差异,这导致在反向代理之后,网站中的字体大小看起来稍微大一些。
在禁用缓存(200 OK
(的情况下,所有资源都被正确加载到网络选项卡中,我尝试在Meld中并排比较HTML和CSS:除了小的替换(例如' → "
、' → '
、删除某些标签中的尾部斜杠,当然还有为适当的资源重写URL(之外,一切似乎都没有改变。
当分析";错误的";元素,CSS属性看起来相同,但Layout选项卡显示了差异(例如,一个站点上的<td>
元素为line-height: 18px
,另一个站点为line-height: normal
(。
我怀疑这可能是由于JQuery/Javascript与样式交互造成的。我不知道以下细节是否重要,但在这两个站点中,在Console选项卡中,我都会收到调试警告";未格式化内容的闪光";,事实并非如此,因为这是永久性的错误风格的内容。
这是我的Apache配置:
SSLProxyEngine on
ProxyPass /redmine/ https://mysite.domain/
ProxyPassReverse /redmine/ https://mysite.domain/
ProxyHTMLEnable On
RequestHeader unset Accept-Encoding
ProxyHTMLCharsetOut *
ProxyHTMLURLMap / /redmine/
关于如何进一步调试/排除故障,有什么建议吗?
我错了,问题是由于mod_proxy删除了<!DOCTYPE html>
标签(在我的并排比较中没有注意到(。出于我不理解的原因,这足以影响CSS的呈现。
由于这个SO问题而得以解决:使用apache mod_proxy 的缺少Doctype HTML部署
我不确定这个问题是否值得保留,现在我只留下它,以防其他人被同样的问题弄糊涂,并倾向于指责mod_proxy_html。我会让社区来决定,如果你认为应该删除这个问题,就投反对票。