Reverse-Proxy zur lokalen Webanwendung, welcher Port muss von iptables geöffnet werden?

Reverse-Proxy zur lokalen Webanwendung, welcher Port muss von iptables geöffnet werden?

Ich möchte einen Reverse-Proxy (nginx oder Apache) für meine Tomcat-Anwendung verwenden. Ich möchte die Ports 80,443 vom Reverse-Proxy auf die Tomcat-Ports 8080, 8443 umleiten. Welcher Port muss nach dem Einrichten des Reverse-Proxys für eingehende und ausgehende Verbindungen geöffnet sein?

ist das richtig? iptables eingehend: öffne Port 80, 443 iptables ausgehend: öffne Port 8080,8443

Mit freundlichen Grüße

Schwarzbart

Antwort1

ATCPDie Verbindung besteht immer zwischen zwei (nicht mehr) Teilnehmern. Jeder wird durch eine IP-Adresse identifiziertUndein Port. Wenn Sie also einen Reverse-Proxy verwenden, haben Sie in Wirklichkeit:

  • Eine Verbindung zwischen dem Client <client_IP>:<random_port>undnginx <server_public_IP>:80über Ihre physische Schnittstelle.
  • Eine Verbindung zwischennginx 127.0.0.1:80UndKater 127.0.0.1:8080durch dasLoopback-Schnittstelle.

Es gibt keinen Grund für eine Firewall, die Kommunikation auf der Loopback-Schnittstelle zu blockieren. Daher möchten Sie wahrscheinlich eingehenden Datenverkehr zulassen mitZielPort 80und 443ausgehender Verkehr mitQuellePort 80und 443.

Normalerweise ist der ausgehende Verkehr jedochnichtblockiert (Richtlinie ACCEPT), benötigen Sie lediglich die folgenden iptables-Regeln:

iptables -A INPUT -i lo -j ACCEPT # loopback interface
# don't block existing traffic
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -m comment nginx -j ACCEPT
# Probably you want to allow ssh
iptables -A INPUT -p tcp --dport 22 -m comment SSH -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

PS: Sie können auchKaterdirekt auf Ports 80und 443mit den gleichen Firewall-Regeln.

verwandte Informationen