我们遇到了一个大问题。自从我们将 gitlab 从版本 8.11.7-ce.0 更新到 8.12.1-ce.0 后,我们的 webgui 就坏了: gitlab-损坏的 GUI 视图
我们目前不知道为什么会发生这种情况。
我们正在使用 Ubuntu 14.04 LTS
有人有同样的问题或有解决这个问题的想法吗?
编辑1:
我检查了我的日志文件:
Started GET "/assets/application-891a61baf08dd362204cccb62419682e810754e7b9e657eb3d33897e53d5bd96.css" for 80.149.35.188 at 2016-09-26 12:26:12 +0200
Processing by ProjectsController#show as HTML
Parameters: {"namespace_id"=>"assets", "id"=>"application-891a61baf08dd362204cccb62419682e810754e7b9e657eb3d33897e53d5bd96.css"}
Filter chain halted as :project rendered or redirected
并检查了这个 404 文件,发现该文件确实存在。我真的不明白为什么我们会收到 404 错误。
编辑2-解决方案:我们已经解决了问题。问题出在我们的 apache vhost 代理配置错误。
现在看起来像:
ProxyPreserveHost On
# Ensure that encoded slashes are not decoded but left in their encoded state.
# http://doc.gitlab.com/ce/api/projects.html#get-single-project
AllowEncodedSlashes NoDecode
<Location />
# New authorization commands for apache 2.4 and up
# http://httpd.apache.org/docs/2.4/upgrading.html#access
Require all granted
#Allow forwarding to gitlab-workhorse
ProxyPassReverse http://127.0.0.1:8282
ProxyPassReverse https://xxx/
</Location>
# Apache equivalent of nginx try files
# http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
# http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
RewriteEngine on
#Don't escape encoded characters in api requests
RewriteCond %{REQUEST_URI} ^/api/v3/.*
RewriteRule .* http://127.0.0.1:8282%{REQUEST_URI} [P,QSA,NE]
#Forward all requests to gitlab-workhorse except existing files like error documents
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} ^/uploads/.*
RewriteRule .* http://127.0.0.1:8282%{REQUEST_URI} [P,QSA]
RequestHeader set X_FORWARDED_PROTO 'https'
RequestHeader set X-Forwarded-Ssl on
答案1
您的静态资源位置已发生改变,但您的 Web 服务器配置尚未相应改变。
您需要研究您的 Web 服务器error.log
,查看哪些资源返回了404
HTTP 状态代码,然后找到这些资源的位置。然后您就可以修复服务器配置了。