Рейтинг:1

обратный прокси-сервер apache2.4 для сервера nginx gitlab

флаг us

В настоящее время я использую сервер owncloud на основе веб-сервера apache 2.4 на моем raspberry pi 4 8 ​​ГБ (работает на диете 7.3), который отлично работает, у меня есть настройка общедоступного домена и я использую letsencrypt для создания сертификатов. Теперь я хочу также настроить сервер gitlab на этом pi, сервер gitlab работает и доступен внутри моей локальной сети через его IP-адрес и порт (192.168.1.234:1234). я настроил external_url в /etc/gitlab/gitlab.rb к 127.0.0.1:1234 и побежал gitlab-ctl перенастроить.

Теперь я хочу настроить обратный прокси-сервер с сервера apache, чтобы он указывал на сервер gitlab NGINX (отредактируйте для уточнения: обратный прокси-сервер должен работать с относительным URL-адресом (mydomain.com/gitlab в моем случае)) сервер, поэтому я добавил файл gitlab.conf к /etc/apache2/доступные сайты/ и добавил в файл следующее:

<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 Не Найдено

(конечно, я также всегда перезапускаю apache2 с помощью systemctl перезапустить apache2 когда я что-то меняю в конфигурации, а также добавляю сайт на сервер apache с помощью a2ensite gitlab.conf и я также включил модули прокси и proxy_http с a2enmod)

Я также теперь, когда я, скорее всего, столкнусь с другими проблемами, такими как не отображение правильных URL-адресов в gitlab и т. Д., Но у меня есть общее представление о том, как их исправить, и я хотел бы сначала исправить это и начать работать над ними, как только я столкнусь их.

Другие ресурсы в Интернете не были слишком полезными, так как ничего из того, что я нашел, не работало, когда я пробовал, поэтому любая помощь или понимание этого действительно ценятся.

/капитанджек

digijay avatar
флаг mx
Я боюсь, что этот вопрос не относится к теме сбоя сервера (вопросы по сбою сервера должны касаться управления системами информационных технологий * в бизнес-среде *), но в любом случае: у вас есть «127.0.0.1 localhost» в /etc/hosts` и порт 1234 в `netstat -tulpen`?
CaptainJack42 avatar
флаг us
Какой форум будет иметь право размещать такие вопросы, чем? Извините, но на данный момент существует слишком много подфорумов, посвященных переполнению стека, чтобы отслеживать, что и где мне подходит ^^. В любом случае, да, 127.0.0.1 localhost находится в etc/hosts, и порты также открыты и работают.
digijay avatar
флаг mx
Я думаю, что ваш вопрос был задан правильно, никто не жаловался, и вы получили ответ - так что оставайтесь с нами :-) +1
ezra-s avatar
флаг ru
ProxyPass уже предоставляет параметр для указания пути, указание его внутри Location может вызвать проблемы, поскольку proxypass и location интерпретируются в противоположном порядке. Примите это во внимание для будущих конфигураций.
Рейтинг:1
флаг za

Поскольку вы проксируете локальный хост, nginx не может найти Хозяин header в любом месте, и ваши установки gitlab кажутся виртуальными хостами не по умолчанию. Попробуйте добавить

ProxyPreserveHost включен

в вашу конфигурацию апача. На оба раздела vhost.

CaptainJack42 avatar
флаг us
Это сработало, спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.