Я использую 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.
