Мне не удается перенаправить моего Jenkins для использования моего субдомена (build.core-network.us
) и не требовать: 8080 порт влеплен сзади.
Я использую Debian Wheezy.
Я использую Apache (proxy
и proxy_http
установлены) а это мой /etc/apache2/sites-available/build.core-network.us
файл:
<VirtualHost *:80>
ServerName build.core-network.us:80
ServerAlias www.build.core-network.us
ServerAdmin piotr@riddle.pl
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyRequests Off
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>
Я убедился, что /etc/default/jenkins
имеет --httpListenAddress=127.0.0.1 --httpPort=8080
так как JENKINS_ARGS
И, конечно же, build.core-network.us имеет правильную запись DNS (и она отлично работает, когда я добавляю :8080
порт к нему).
Я нашел еще 4 подобных сообщения с 4 различными рекомендациями VirtualHost, и либо они не для меня, либо я не использую их должным образом.
Обновление 1: я обнаружил ошибки в error.log
:
[Fri Sep 26 17:33:59 2014] [notice] SIGUSR1 received. Doing graceful restart
[Fri Sep 26 17:33:59 2014] [notice] Apache/2.2.22 (Debian) configured -- resuming normal operations
[Fri Sep 26 17:33:59 2014] [error] proxy: ap_get_scoreboard_lb(0) failed in child 11990 for worker proxy:reverse
[Fri Sep 26 17:33:59 2014] [error] proxy: ap_get_scoreboard_lb(0) failed in child 11991 for worker proxy:reverse
Обновление 2: я сделал sudo /etc/init.d/apache2 stop
а потом start
, не помогло.
Я считаю, что ошибка здесь:
ServerName build.core-network.us:80
Отбросьте :80
, это не часть Host:
заголовок. Что происходит, так это то, что это не соответствует вашему запросу, и ваша система падает на другой виртуальный хост (первый загружен, если ничего явно не соответствует).
www.build.core-network.us
должен работать сейчас, и вы также можете использовать его для тестирования.
Кроме того, вам не нужен <Proxy>
раздел, который предназначен только для прямого прокси.
В большинстве случаев ProxyRequests
уже выключен, так что это, вероятно, избыточно, но не повредит.
Вы забыли про путь приложения.
По умолчанию / jenkins.
Например.
Proxypass /jenkins http://localhost:8080/jenkins