обратный прокси apache2 с доменом

Я не уверен, возможно ли то, что я пытаюсь сделать, но у меня есть несколько приложений на нескольких серверах. У меня есть один сервер для gitlab, один для jenkins и один для sonarqube. Я хочу иметь возможность переходить к ним, используя свой домен следующим образом:

gitlab > https:// git.mydomain.com
jenkins > https:// jenkins.mydomain.com
sonarqube > http:// sonar.mydomain.com

Я пытаюсь установить обратный прокси-сервер с apache2 на 4-м сервере, который работает независимо от приложений. Вот что я пытался сделать:

<VirtualHost *:80>
    ServerName http:// mydomain.com
    ProxyPass http:// sonar.mydomain.com/ http:// sonar.mydomain.com:9000/
    ProxyPassReverse http:// sonar.mydomain.com http:// sonar.mydomain.com:9000/
    ProxyPass http:// jenkins.mydomain.com/ https:// jenkins.mydomain.com:8081/
    ProxyPassReverse http:// jenkins.mydomain.com/ https:// jenkins.mydomain.com:8081/
</VirtualHost>

Когда я сделаю это таким образом, это не сработает, просто перейду на страницу apache по умолчанию. Я пытался сделать это с помощью / и заметил, что он не будет работать с расширениями https: // независимо от того, каким образом я пытаюсь его установить. Есть ли способ заставить это работать?

и можно ли настроить прокси так, как я хочу?

0
задан 1 July 2016 в 15:43
2 ответа

он не будет работать с расширениями https: // независимо от того, каким способом я его пытаюсь установить

Ваш - ] только соответствует трафику порта 80 , поэтому он не может работать с «https: // extentions».

Какая бы там ни была проблема , возможно, связана с настройкой вашего прокси , ваша первая проблема связана с настройкой вашего виртуального хоста.

ИЗМЕНИТЬ за комментарий OP, чтобы ответить:

я хочу перенаправить на https, когда кто-то пытается получить доступ к http

В этом случае вам следует рассмотреть просто выполняя простое перенаправление , вместо того, чтобы пытаться настроить прокси:

<VirtualHost *:80>
  ServerName jenkins.mydomain.com
  Redirect permanent / https://jenkins.mydomain.com
<VirtualHost *:80>

<VirtualHost *:443>
  ServerName jenkins.mydomain.com
  * * * * *
  EVERY DIRECTIVE YOU WANT TO SET UP THE HTTPS SERVER
  * * * * *
<VirtualHost *:80>
1
ответ дан 4 December 2019 в 16:34

Типичная конфигурация такова, что ваши пользователи / посетители переходят по адресу http://www.example.com.com/sonar , а затем получают контент, обратно проксированный с http://sonar.example.com:9000/ .

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com

    ProxyPass /sonar http://sonar.example.com:9000/
    ProxyPassReverse /sonar http://sonar.example.com:9000/

    ProxyPass /jenkins https://jenkins.example.com:8081/
    ProxyPassReverse /jenkins https://jenkins.example.com:8081/
</VirtualHost>

А затем повторите то же самое в записи виртуального хоста TLS:

<VirtualHost *:443>
    ServerName www.example.com
    ServerAlias example.com

    ProxyPass /sonar http://sonar.example.com:9000/
    ProxyPassReverse /sonar http://sonar.example.com:9000/

    ProxyPass /jenkins https://jenkins.example.com:8081/
    ProxyPassReverse /jenkins https://jenkins.example.com:8081/
</VirtualHost>
0
ответ дан 4 December 2019 в 16:34

Теги

Похожие вопросы