Acceder a nuestro servidor web desde internet (Usando modem/router zoom)

Hace tiempo que quería publicar la forma de poder acceder a nuestro servidor web desde una red externa como internet, usando el modem/router zoom pero por razones de tiempo no lo hice, ahora por fin decidí hacerlo pero solo quiero abordar cómo hacer funcionar el servidor web, teniendo un servidor web corriendo en nuestra máquina.
Bueno la configuración que voy a realizar es teniendo el xampp instalado, lo cual no difiere demasiado en cuanto a configuración del apache, php o mysql.
Buscando en muchísimos lugares encontré dos problemas importantes con el modem/router zoom los cuales los detallo a continuación:
  • Sobre el loopback: El loopback es el mismo dispositivo como interfaz de red, lo que conocemos como 127.0.0.1 o el localhost. Esto funciona perfectamente cuando tenemos el servidor web localmente pero cuando queremos acceder desde una red externa es imposible acceder a nuestro servidor. Por eso en muchos modelos de módems o routers tienen la opción de activar el loopback.

  • Sobre los puertos (puerto 80): Como bien sabemos el puerto 80 está asignado al protocolo http. Pero en la mayoría de módems o routers lo tienen asignado hacia el servidor web interno del modem, ósea que hay 2 opciones para poder hacer funcionar nuestro propio servidor, lo que hare será solo explicar la forma que me parece la más sencilla.

Comenzamos:

Paso 1: Cambiar el puerto de escucha de nuestro servidor web en APACHE.
Abrimos al archivo httpd.conf de la configuración del apache en el servidor xampp, que se encuentra en /xampp/apache/conf/, buscamos la línea Listen 80 que indica el puerto de escucha del servidor apache, lo que haremos será cambiar este puerto a un nuevo puerto, que sera el 8080 luego nos dirigimos a ServerName localhost:80 y también realizamos el cambio del puerto. Al finalizar nos quedaría como se ve a continuación:
Listen 8080

ServerName localhost:8080      


Realizado lo anterior procedemos a reiniciar el servidor apache desde el panel del xampp o desde consola, lo siguiente es probar que nuestro servidor este funcionando en el nuevo puerto configurado. En nuestro navegador escribimos localhost:8080 ó 127.0.0.1:8080 si todo marcha bien visualizaremos la página de inicio de nuestro servidor. (Nota importante, si acabamos de instalar xampp debemos reemplazar la página de inicio del xampp por la nuestra, eso sería lo esencial para tener en línea nuestro servidor web, porque ahora no quiero profundizar explicando sobre los virtual hosts).


Paso 2: Abrir el puerto 8080 en nuestro modem/router. 
Bueno como la manera de realizar esta operación está en este blog, no me voy a detener a explicarlo y pasare directamente al siguiente paso.

Paso 3: Comprobar acceso al servidor.
A partir de aquí nuestro servidor web ya es accesible desde redes externas (internet), ahora queda algo muy importante, anteriormente explique sobre el loopback, aquí es donde vemos el problema del loopback porque no lo podemos activar en el modem/router zoom debido a eso nosotros (desde nuestra maquina) no podemos acceder a nuestro servidor web usando nuestra dirección IP pública (la que nos asigna el DNS de nuestro ISP por ejem: 200.58.81.40). Y lo único que veríamos desde nuestra maquina seria un bonito mensaje como este:




IMPORTANTE
Un truco interesante que se me ocurrió para conseguir acceder a nuestro servidor web, desde nuestra maquina es usando un servidor proxy. Como por ejemplo:
o cualquiera que sea de su agrado.

Colocamos nuestra dirección IP pública de la forma 200.58.81.40:8080 tomando en cuenta el puerto que hayamos configurado, en este caso lo hicimos por el puerto 8080.



Al final obtendríamos nuestro resultado, poder visualizar el contenido de nuestro  servidor.



Como punto en contra, esto normalmente nos serviría para comprobar el contenido de nuestro servidor sin poder utilizar javascript y algunas restricciones más que no se me vienen a la mente. Al parecer estos servidores proxy cobran $ por activar la opción de usar scripts, pero de cualquier forma para las pruebas esta el localhost nO?.

Otra manera de comprobar que nuestro servidor web esta online la realizamos desde un cibercafé o desde cualquier otro lugar. Ponemos nuestra dirección ip y el puerto de escucha en el navegador,  como lo explicado anteriormente 200.58.81.40:8080 y podremos visualizar la página de inicio de nuestro servidor.

Si queremos montar un servidor simulando una ip-estatica+dominio debemos buscar sobre servidores como no-ip u otro de ese estilo.

Eso es todo lo necesario para poder acceder a nuestro servidor web desde internet. Estoy seguro que será de gran utilidad para poder probar y testear contenidos web o hasta hostear un servidor web en nuestra maquina.

Saludos y gracias

Comentarios

  1. Hola Daniel primero que nada gracias por gran blog es de mucha ayuda

    intente hacer lo que indicas aca utilizando el puerto 8081, pero no resulto, estoy con una ip fija que me entrego comteco
    todo fue bien hasta el paso 2 el paso 3 el querer ver el ip fija que tengo no se puedo. alguna sugerencia extra que pueda haber
    Gracias

    ResponderEliminar
  2. Hola como estas, mi duda es la siguiente : Quisiera saber si se puede hacer esto con los modems 3G Huawei de TIGO o VIVA, ¿Se podra abrir puertos en estos modems? si es asi ¿Conoces las contraseñas para configurarlos?

    Gracias por tu atencion y tiermpo ...

    ResponderEliminar
    Respuestas
    1. Segun se, en el modem no se puede configurar los puertos, eso recae directamente en el proveedor 3G, ellos son los que configuran que puertos estan abiertos y cuales cerrados, Saludos

      Eliminar

Publicar un comentario

Entradas populares de este blog

Obtener acceso al modem de Comteco

Configuracion de router como repetidor, usando el router, switch TP-Link TL-WR941ND

Modo administrador módem Baudtec SKY-W273-2T2R (Solución definitiva)