Я использую Apache для перенаправления субдомена на порт (mod_proxy
, mod_proxy_http
, mod_proxy_ajp
) и таблицы IP для ограничения прямого доступа к порту, кроме меня и локального сервера.
Мои таблицы IP выглядят так:
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- !c-24-7-110-109.hsd1.ca.comcast.net anywhere tcp dpt:tproxy
ACCEPT tcp -- localhost anywhere tcp dpt:tproxy
DROP tcp -- !c-24-7-110-109.hsd1.ca.comcast.net anywhere tcp dpt:http-alt
DROP tcp -- !c-24-7-110-109.hsd1.ca.comcast.net anywhere tcp dpt:webmin
ACCEPT tcp -- localhost anywhere tcp dpt:webmin
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Контекст, который я собираюсь использовать в этом посте:
Sonatype Nexus: nexus.example.com => example.com:8081
Дженкинс CI: jenkins.example.com => example.com:8080
Webmin: webmin.example.com => example.com:10000
То, что у меня сейчас работает, - это не прямой доступ к порту, кроме меня. Я также хочу, чтобы локальная система могла получать доступ к портам, что, как я полагаю, у меня сейчас. Я использую mod_proxy_ajp
для CI Jenkins и Webmin и mod_proxy_http
для Nexus Sonatype.
Когда я посещаю прямые порты, каждая из этих служб загружается просто отлично. Когда я попросил кого-то еще загрузить каждого, они не могут, так что это работает.
Теперь, однако, при попытке получить доступ к одному из поддоменов, я получаю бесконечную нагрузку (бесконечный цикл?)
Когда я запускаю tracert на поддомене, он хорошо заканчивается, поэтому я могу вычеркнуть бесконечный цикл.
Вот моя конфигурация виртуального хоста Apache Sonatype Nexus:
<VirtualHost *:80>
ServerName nexus.majornoob.com
ServerAlias www.nexus.majornoob.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
ProxyPassReverseCookiePath / /
ErrorLog /var/www/majornoob/error-nexus.log
LogLevel warn
CustomLog /var/www/majornoob/access-nexus.log combined
</VirtualHost>
а вот и мой Дженкинс:
<VirtualHost *:80>
ServerName jenkins.majornoob.com
ServerAlias www.jenkins.majornoob.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / ajp://127.0.0.1:8080/
ProxyPassReverse / ajp://127.0.0.1:8080/
ProxyPassReverseCookiePath / /
ErrorLog /var/www/majornoob/error-jenkins.log
LogLevel warn
CustomLog /var/www/majornoob/access-jenkins.log combined
</VirtualHost>
Эти два примера виртуальных хостов используют mod_proxy_ajp
и mod_proxy_http
соответственно.
Может ли кто-нибудь помочь мне понять, почему я получаю бесконечный груз?
Благодарю.
редактировать: фигу на бесконечный цикл. Через некоторое время я получил ошибку 503 Service Unavailable.