proxy inverso a la aplicación web local, ¿qué puerto debe estar abierto por iptables?

proxy inverso a la aplicación web local, ¿qué puerto debe estar abierto por iptables?

Quiero usar proxy inverso (nginx o apache) para mi aplicación Tomcat. Quiero redirigir los puertos 80,443 del proxy inverso a los puertos 8080, 8443 de Tomcat. Después de configurar el proxy inverso, ¿qué puerto debe estar abierto para entrada y salida?

está bien ? iptables entrante: puerto abierto 80, 443 iptables saliente: puerto abierto 8080,8443

atentamente

barba negra

Respuesta1

AtcpLa conexión es siempre entre dos (no más) participantes. Cada uno está identificado con una dirección IP.yun puerto. Entonces, en realidad, cuando usas un proxy inverso, tienes:

  • Una conexión entre el cliente <client_IP>:<random_port>ynginx <server_public_IP>:80a través de su interfaz física.
  • Unas conexiones entrenginx 127.0.0.1:80yGato 127.0.0.1:8080a través deinterfaz de bucle invertido.

No hay ningún motivo para que un firewall bloquee la comunicación en la interfaz loopback. Probablemente quieras permitir el tráfico entrante condestinopuerto 80y 443tráfico de salida confuentepuerto 80y 443.

Sin embargo, normalmente el tráfico saliente esnobloqueado (política ACCEPT), solo necesitas las siguientes reglas de iptables:

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

PD: También puedes ejecutarGatodirectamente en los puertos 80y 443con las mismas reglas de firewall.

información relacionada