Назад | Перейти на главную страницу

Заставить Jenkins использовать поддомен без порта 8080 за apache2

Мне не удается перенаправить моего 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