В настоящее время я использую сервер owncloud на основе веб-сервера apache 2.4 на моем raspberry pi 4 8 ГБ (работаю с diepi 7.3), который отлично работает. У меня есть общедоступная установка и я использую letsencrypt для создания сертификатов. . Теперь я хочу также настроить сервер gitlab на этом пи, сервер gitlab работает и доступен в моей локальной сети через его IP-адрес и порт (192.168.1.234:1234). Я установил external_url
в /etc/gitlab/gitlab.rb
на 127.0.0.1:1234
и запустил gitlab-ctl reconfigure
.
Теперь я хочу настроить обратный прокси-сервер с сервера apache, чтобы он указывал на gitlab NGINX (отредактируйте для пояснения: обратный прокси-сервер должен работать с сервером с относительным URL-адресом (mydomain.com/gitlab в моем случае)), поэтому я Мы добавили файл gitlab.conf
в / etc / apache2 / sites-available /
и добавили в файл следующее:
<VirtualHost *:80>
ServerName mydomain.com
ProxyRequests off
<Location /gitlab>
ProxyPass http://localhost:1234
ProxyPassReverse http://localhost:1234
</Location>
</VirtualHost>
<VirtualHost *:443>
ServerName mydomain.com
# Certificate
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
<Location /gitlab>
ProxyPass http://localhost:1234
ProxyPassReverse http://localhost:1234
</Location>
</VirtualHost>
Проблема в том, что это не работает .. переход на mydomain.com/gitlab оставляет меня с 404 Not Found
(конечно, я также всегда перезапускаю apache2 с помощью systemctl restart apache2
, когда я что-то меняю в конфигурации и я Мы также добавили сайт на сервер Apache с помощью a2ensite gitlab.conf
и я также включил модули proxy
и proxy_http
с помощью a2enmod
)
Теперь я, скорее всего, столкнусь с большим количеством такие проблемы, как неправильное отображение URL-адресов в gitlab и т. д., но у меня есть общее представление о том, как их исправить, и я хотел бы сначала исправить это и начать работать над ними, как только я с ними столкнусь.
Другие ресурсы в Интернете не были слишком полезными, так как я ничего не нашел, когда попробовал, так что любая помощь или понимание по этому поводу действительно приветствуются.
/ капитанджек
Поскольку вы проксируете на localhost, nginx нигде не может найти заголовок Host, а ваша установка gitlab, похоже, не является виртуальным хостом по умолчанию. Попробуйте добавить
ProxyPreserveHost On
в конфигурацию apache. В оба раздела vhost.