Abrí mi máquina de desarrollo a otro desarrollador. Para mayor seguridad, estoy intentando habilitar el reenvío de puertos en mi servidor web Apache 2.4 local. PERO, no se conectará a ningún otro puerto que no sea el 80. He seguido las diversas instrucciones dadas, por ejemplo:Por ejemplo
Entonces, configuré el puerto local en mi enrutador en 5070 (podría ser cualquier cosa, pero no 80) y el "rango de puertos" en 80 usando TCP, ya que ingresan desde un navegador. Luego cambio el archivo ports.conf (Listen 5070) y mysite.conf ( <VirtualHost *:5070>
) de estos archivos anteriores para que ambos lean 5070. Mi archivo de hosts todavía lee el host local como 127.0.0.1
Reinicio Apache pero simplemente se niega a conectarse a mi aplicación. Si vuelvo a poner todo en el puerto 80, todo funciona. Parece importar si el Firewall está encendido o apagado.
Lo único que es realmente extraño es que cuando hago un netstat -tulpn
me sale esto:tcp6 0 0 :::5079 :::* LISTEN 1702/apache2
Nunca estipulé tcp6.
¿Alguna idea de lo que me estoy perdiendo?
Muchas gracias !
Respuesta1
Creo que hay un pequeño error. Si reenvía el puerto 80 al puerto 5070 de Apache, todavía estará disponible públicamente en el puerto 80, lo que está tratando de evitar. Debes darle la vuelta a esto y abrir el puerto 5070 en tu enrutador. Puede reenviar ese puerto al puerto 80 de su Apache ya que su Apache no es accesible públicamente directamente.
Así que coloque el puerto 5070 en el rango de puertos de su enrutador. Deje su Apache en el puerto 80 y coloque 80 como puerto local en su enrutador. Tu amigo se conecta contigo ingresando http://your-ip-or-dyndns:5070
al navegador.
Puedes acceder a tu Apache como antes con http://localhost
.
Si no desea que nadie encuentre el puerto 5070 abierto para acceder a su Apache, le recomendaría anteponer la autenticación.