Я не уверен, возможно ли то, что я пытаюсь сделать, но у меня есть несколько приложений на нескольких серверах. У меня есть один сервер для 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: // независимо от того, каким образом я пытаюсь его установить. Есть ли способ заставить это работать?
и можно ли настроить прокси так, как я хочу?
он не будет работать с расширениями 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>
Типичная конфигурация такова, что ваши пользователи / посетители переходят по адресу 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>