Я не могу исправить значки на Gitlab, проксированные Apache 2.4. Моя ошибка может быть связана с тем, что я не использую пассажира (пассажир предоставил свой собственный набор проблем, которые были намного глубже), но я предпринял все шаги, чтобы запустить его под прокси-сервером /gitlab
. Я также побежал:
sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production RAILS_RELATIVE_URL_ROOT=/gitlab
Я также перезапустил Apache. Без улучшения. Значки все еще отсутствовали (или я должен сказать, что файл шрифта woff
возвращает status 200
в браузер, но с размером 0). Это Гитлаб 6.5. В моем файле Apache SSL sites-enabled
conf это то, что обеспечивает маршрут SSL в мире для нашего Gitlab:
<Proxy *>
Require all granted
</Proxy>
<Location ~ /(gitlab|assets)>
RequestHeader set X_FORWARDED_PROTO 'https'
SetEnv RAILS_RELATIVE_URL_ROOT "/gitlab"
Require all granted
Options -Multiviews
# apache equivalent of nginx try files
# http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
# https://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8085/%{REQUEST_URI} [P,QSA]
# needed for downloading attachments but does not work under Location directive
#DocumentRoot /home/git/gitlab/public
</Location>
ProxyPass /gitlab/ http://127.0.0.1:8085/gitlab/
ProxyPassReverse /gitlab/ http://127.0.0.1:8085/gitlab/
ProxyPass /gitlab http://127.0.0.1:8085/gitlab
ProxyPassReverse /gitlab http://127.0.0.1:8085/gitlab
# SOme of the CSS assets were not being generated with "/gitlab", so I proxy those too.
ProxyPass /assets http://127.0.0.1:8085/gitlab/assets
ProxyPassReverse /assets http://127.0.0.1:8085/gitlab/assets
Опять же, большая часть работает нормально. В браузер возвращаются только ресурсы шрифта с нулевым размером. Должен ли я обновить директиву местоположения до каталога?
Примечание: gitlab - замена значков прямоугольниками не помогла. И да, на моем сервере есть другие сайты с портом 443, поэтому я не могу просто использовать эту конфигурацию Apache на своем собственном порту/домене, если мне это не нужно. Вероятно, мне просто нужна помощь в понимании Apache 2.4. Я что-то упустил в своей конфигурации Apache?
Использованы ресурсы: https://github.com/gitlabhq/gitlab-recipes/commit/be95bd4f9bd3244641a4c7e55eb75fcc29129ffd, https://github.com/gitlabhq/gitlabhq/issues/2365 , https://github.com/gitlabhq/gitlab-recipes/commit/c6c22b4fb68bbb6efb547cce6605dea4344ba9fe
Также не удалось заменить директиву Location: попробовал это, но не так успешно:
Alias ^/(gitlab|assets) /home/git/gitlab/public
<Directory /home/git/gitlab/public>`
RequestHeader set X_FORWARDED_PROTO 'https'
SetEnv RAILS_RELATIVE_URL_ROOT "/gitlab"
Require all granted
Options -Multiviews
# https://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8085/%{REQUEST_URI} [P,QSA]
</Directory>