Доступ к Jenkins через Tomcat7 и Apache2

Я настраиваю CI / CD-сервер * h, размещенный на небольшом ящике в задней части моего дома. e2 / mods-e / В настоящее время у меня есть экземпляр Jenkins, работающий через Tomcat7 через порт 8080, и экземпляр SonarQube, работающий через порт 9000.

Я хотел бы иметь доступ к каждому из них через http://my.website.com/jenkins и http://my.website.com/sonarqube. соответственно, и заблокировать доступ к ним через порт (т.е. http://my.website.com:9000/sonarqube )

В настоящее время у меня есть Дженкинс. conf находится в /etc/apache2/sites-available/, связанном с /etc/apache2/sites-enabled/jenkins.conf, а модуль jk включен в /etc/apache2/mods-enabled/jk.conf и /etc/apache2/mods-enabled/jk.load

. Это содержимое моего jenkins.conf (как предложено в и post)

<VirtualHost *:80>
    ServerAdmin zymus@localhost
    ServerName jenkins.mysite.net
    ServerAlias jenkins
    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPreserveHost on
    ProxyPass /jenkins http://localhost:8080/jenkins nocanon
    AllowEncodedSlashes NoDecode
</VirtualHost>

Однако при переходе на http://my.site.com/jenkins я получаю ошибку 404. Но доступ к нему через http://my.site.com:8080/jenkins работает.

Какие дальнейшие шаги я могу предпринять, чтобы достичь этого?

ОБНОВЛЕНИЕ: я смог посетить сайт, изменив

ProxyPass /jenkins http://localhost:8080/jenkins nocanon

на

ProxyPass / http://localhost:8080/jenkins nocanon

Но Я все еще хотел бы не иметь возможности посетить его через: 8080. Или это то, что я не должен пытаться?

РЕДАКТИРОВАТЬ: Мне удалось настроить все. Основным виновником было то, что я определял VirtualHost в каждом из файлов конфигурации сайта, поэтому sonar.conf и jenkins.conf оба имели элемент VirtualHost. Я удалил это, и оба сайта работали.

0
задан 24 January 2015 в 10:46

1 ответ

Для Вашего прокси-сервера, чтобы смочь передать Ваш запрос и ответ назад с jenkins сервера на 8 080, это должно будет быть доступно, по крайней мере, к себе, по телефону jenkins_box:8080.

доступ Ограничения:

Из более широкого Интернета

, Если и jenkins экземпляр и прокси-сервер работают на той же машине (как в Вашем случае), все, которое необходимо сделать для предотвращения кого-то снаружи LAN (кто-то получающий доступ my.website.com из более широкого Интернета) просто НЕ порт передачи 8080 с маршрутизатора на сервер. Вперед просто порт 80.

Вы могли иметь почти идентичные virtualhost блоки, один для sonarqube, установить на имя сервера sonarqube.mywebsite.com, и другой для jenkins, установить на jenkins.mywebsite.com. Вперед только порт 80 к той машине и бинго бинго, из Интернета, единственный способ добраться до тех сервисов теми субдоменами.

На Вашем LAN

, Так как единственное устройство Вы хотите позволить получать доступ server:8080, server само, в virtualhost директивах для sonarqube и jenkins, можно установить настройки Allow и Deny.

, Например:

Order deny,allow Allow from 127.0.0.1

вошел бы в каждый virtualhost блок. Можно также хотеть указать IP-адрес сервера как дополнительный позволенный IP (притворяющийся, что IP сервера 192.168.1.12):

Allow from 127.0.0.1 192.168.1.12

Это - почти точно установка, которую я имею для нескольких из моих собственных сервисов.

0
ответ дан 24 January 2015 в 10:46

Другие вопросы по тегам:

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