我们在内联网中使用这个 redmine 实例已经有一段时间了,但从一天到另一天,redmine 中几乎所有的表单看起来都像这样。在 Firefox、Chrome 和 Safari 中也是如此。我还在同一个 Chrome 浏览器中从另一台服务器打开了另一个 redmine 实例,看起来不错。
登录表单、搜索框和过滤框均不受影响。此外,wiki 也运行正常。
我不记得曾经更改过可以解决此问题的设置。我还尝试将皮肤从标准改为经典或替代,但没有帮助。
版本信息显示Redmine 1.0.2.stable (PostgreSQL)
服务器是 ubuntu 10.04 64,客户端是 win3k-32。
我做的最后一件事是添加一个新项目。
更新:
该网站通过我们内联网上的 https apache2 进行反向代理。我刚刚发现,直接从原始机器(使用 mongrel 在 http 端口 9001 上)提供服务一切正常,所以我猜 apache 过滤了一些东西。有什么想法吗?
也许像 css 链接这样的资源没有被正确重写?
这是来自代理的 vhost 文件:
<VirtualHost 10.1.1.186:80>
ServerName redmine.cgnch.de
ErrorLog /var/www/redmine_http_error_log
CustomLog /var/www/redmine_http_access_log combined
#Re-write any HTTP request to HTTPS
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R=permanent]
#RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L]
</VirtualHost>
<VirtualHost 10.1.1.186:443>
ServerName redmine.example.com
ErrorLog /var/www/redmine_ssl_error_log
CustomLog /var/www/redmine_ssl_access_log combined
#Configure Reverse Proxy
ProxyRequests Off
ProxyPreserveHost On
#Rewrite Engine for URLs in HTML, JS and css:
SetOutputFilter proxy-html
# ProxyHTMLEnable On
# On: rewrite also css and javascript - Off: only in HTML
ProxyHTMLExtended Off
<Location />
ProxyPass http://10.1.1.185:9001/
ProxyPassReverse http://10.1.1.185:9001/
Order allow,deny
Allow from all
</Location>
ProxyHTMLURLMap http://10.1.1.185:9001 https://redmine.example.com
SSLEngine On
SSLProxyEngine On
SSLProxyProtocol all -SSLv2
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</Virtualhost>
答案1
我从 vhost 文件中删除了以下几行:
SetOutputFilter proxy-html
ProxyHTMLExtended Off
ProxyHTMLURLMap http://10.1.1.185:9001 https://redmine.example.com
不需要重新映射主机名,因为 redmine 只使用相对寻址。
现在一切正常。
答案2
检查浏览器的错误控制台。如果出现无法访问的样式表之类的错误,则会显示相应的错误消息。