У меня есть такая конфигурация iptables:
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
Также у меня есть виртуальный хост apache:
<VirtualHost *:80>
ServerName wiki.myite.com
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8901/
ProxyPassReverse / http://localhost:8901/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Мой основной домен www.mysite.com хорошо работает с этой конфигурацией (я не использую перенаправление прокси на нем). Но мой виртуальный хост wiki.mysite.com не отвечает.
Пожалуйста, помогите мне настроить конфигурацию iptables, чтобы wiki.mysite.com тоже работал. Я думаю, мне нужно настроить параметры пересылки iptables, но я не знаю как.
Обновить:
У меня 1 сервер с 1 IP. На сервере у меня apache2.2 на 80 порте. Также у меня есть tomcat6 на порту 8901. В apache я настроил пересылку домена wiki.mysite.com на tomcat (mysite.com:8901).
Я хочу защитить свой сервер, отключив все порты, кроме 80, 22 и 443.
Что ж, если вы перенаправляете на порт 8901 и не отметили свой интерфейс lo как «доверенный», принимая все от него, то вы, вероятно, просто блокируете себя на своем собственном брандмауэре.
Предполагая, что вы настроили сайт для правильного прослушивания 8901, вы должны добавить еще одну строку:
iptables -A INPUT -p tcp --dport 8901 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8901 -j ACCEPT
Или просто добавьте:
iptables -A INPUT -i lo -j ACCEPT
Таким образом, ваша машина будет знать, что принимать пакеты localhost на всех портах.
Я решаю эту проблему, добавляя в конфигурацию iptables следующий код:
iptables -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT
Я открыл все порты с localhost и на localhost.
Похоже Сатанинский щенок сказал, но:
iptables -A INPUT -i lo -j ACCEPT
открыл все порты для всех.