El servidor web Apache funciona localmente, no globalmente

1

He estado en esto por un tiempo esta noche y pensé que buscaría ayuda antes de golpear el saco. He descargado Apache con éxito y puedo ejecutarlo sin problemas en una caja fedora 16 que actúa como servidor web. Pude hacer páginas que se pueden ver localmente.

Para resumir

Desde Fedora Box puedo acceder a mis páginas a través de un navegador web en

  • 127.0.0.1, así como su dirección IP local.

Desde un cuadro de Windows en la misma red doméstica puedo acceder a la página desde

  • su dirección IP local

Desde ambas máquinas puedo hacer ping con éxito a la dirección IP global (proporcionada por whatsmyip.org)

Hasta donde sé, el problema parece estar en el enrutador. Tuve que volver a cargar una copia de seguridad dos veces esta noche porque seguía rompiendo cosas (recuerden amigos, ahorrar es FTW). ¿Podría ser el problema alguno de los siguientes problemas con el enrutador o el servidor web? La siguiente lista resume lo que he intentado y qué está habilitado en este momento.

  • Actualmente el enrutador tiene NAT habilitado.
  • El firewall del enrutador está deshabilitado
  • He intentado reenviar el puerto 80. Utilicé la dirección local del servidor web como puerto de reenvío.
  • HTTP se ha habilitado en el firewall de Linux en el servidor web
  • Internet entra en la casa de la siguiente manera
    • Módem proporcionado por el ISP >> Mi enrutador personal >> Dispositivo individual

Editar: Según mi ISP, el puerto 80 está bloqueado de la siguiente manera. ¿Podría esto plantear un problema mayor o es la respuesta de RedGrittyBrick una forma de evitarlo?

  • Puerto = 80
  • Transporte = TCP
  • Protocolo = HTTP
  • Dirección = entrante
Sealz
fuente
¿en qué dispositivo ha habilitado el reenvío de puertos?
daya
@daya en el enrutador. Y en caso de que alguien tenga curiosidad, es un EnGenius ESR9850
sealz

Respuestas:

1

Reenvío de puertos

Cuando configura el reenvío de puertos, debe tener tres parámetros correctos:

  • el puerto externo , generalmente 80 para HTTP.
  • La dirección IP interna del servidor, a menudo 192.168.1.x
  • el puerto interno para el servicio HTTP en el servidor interno, de nuevo generalmente 80.

Bloqueo de puertos ISP

Tenga en cuenta que un servidor web en una línea ADSL tendrá un rendimiento deficiente y puede romper los términos de su servicio de ISP; por esta razón, su ISP podría bloquear el tráfico entrante. Intente configurar el puerto externo en un número alto (por ejemplo, 30080) dejando el puerto interno en 80 y luego asigne una URL a un navegador externo http://<external IP>:30080/

RedGrittyBrick
fuente
Después de una investigación adicional, parece que mi ISP puede bloquear el puerto 80. ¿Establecería el puerto externo en el archivo httpd.conf? He intentado 123.123.123.123 y 123.123.123.123:80.
sealz
O sería esto más a lo largo de los ligns de lo que necesito: rootatwc.com/blog/article/1
Sealz
@ harper89: No, el puerto externo está configurado en la configuración de reenvío de puertos del enrutador. El número de puerto del servidor web interno puede permanecer igual. Esto a veces se llama Traducción de dirección de puerto (PAT). Si su enrutador no puede hacer PAT como parte del reenvío de puertos, entonces y solo entonces sería necesario cambiar el puerto que escucha el servidor web (en cuyo caso puede hacer que escuche dos números de puerto por conveniencia: 80 Y 30080, por ejemplo) )
RedGrittyBrick
@ harper89: ese artículo de blog se aplica si su enrutador es muy básico y carece de reenvío de puertos por puerto.
RedGrittyBrick
Gracias, jugaré con él después del trabajo, alguien más lo hará +1 nuevamente por mí.
sealz
2

Supongo que su problema es que no puede acceder al servidor web desde su dirección pública desde la red local, desde la misma red en la que reside el servidor.

Esto se debe a que la mayoría de los enrutadores domésticos no son compatibles, que es la técnica de hacer el doble nat / unnat que se requiere para administrar la conexión que entra y sale de la misma interfaz.

Cuando hace ping a la dirección global, lo más probable es que el enrutador responda, no el servidor web.

Considerando el uso de DNS dividido para acceder al servidor, donde internamente el nombre DNS se resuelve en la dirección privada y externamente se resuelve en la dirección pública.

Pablo
fuente