Порт на поддомен
Я установил Hudson с помощью apt-get, и сервер Hudson доступен на example.com:8080
,
За example.com
Я использую стандартный порт *:80, и некоторые виртуальные хосты настроены следующим образом:
# /etc/apache2/sites-enabled/subdomain.example.com
<Virtualhost *:80>
ServerName subdomain.example.com
...
</Virtualhost>
Вот информация о процессе Гудзона:
/usr/bin/daemon --name=hudson --inherit --env=HUDSON_HOME=/var/lib/hudson --output=/var/log/hudson/hudson.log --pidfile=/var/run/hudson/hudson.pid -- /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
987 ? Sl 1:08 /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
Как мне переслать:
http:// example.com:8080
чтобы:
http:// hudson.example.com
1 ответ
Решение
Сначала вам нужно включить mod_proxy в Apache2. Запустите эти команды как root или sudo:
a2enmod proxy
a2enmod proxy_http
Затем вам нужно будет перезагрузить Apache:
/etc/init.d/apache2 restart
Ваш файл HUDSON vhost:
<VirtualHost *:80>
ServerName hudson.example.com
ProxyPass / http://localhost:8080/hudson
ProxyPassReverse / http://localhost:8080/hudson
ProxyRequests Off
# Local reverse proxy authorization override
# Most unix distribution deny proxy by default
# (ie /etc/apache2/mods-enabled/proxy.conf in Ubuntu)
<Proxy http://localhost:8080/hudson*>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>
Перезапустите Apache еще раз, чтобы зафиксировать новый vhost:
/etc/init.d/apache2 restart