Probablemente esta sea una pregunta sencilla, así que perdónenme...
Ejecuto un Synogy NAS al que se puede acceder externamente a través del puerto 5000. También ejecuto un servidor web en otra PC que está en el puerto 80. Configuré unMoodleservidor en Synology que me gustaría que fuera visible para el mundo exterior.
En este momento, sólo puedo hacerlo internamente a través de NAS/Moodle. Accedo a todo esto a través de dyndns cuando soy remoto. ¿Existe alguna forma de acceder a Moodle de forma remota? No se me ocurre una manera...
¡Gracias!
Respuesta1
La respuesta se llama "Reenvío de puertos". Es probable que su red local esté detrás de un dispositivo NAT que sería su enrutador/firewall. Ese dispositivo es el único que acepta paquetes entrantes de Internet. Debido a que sus dispositivos locales no son enrutables públicamente, el enrutador no sabrá a qué dispositivo local enviar los paquetes entrantes, a menos que usted se lo indique.
Inicie sesión en su dispositivo fronterizo (enrutador\firewall) y busque las reglas de reenvío de puertos. Deberá reenviar los puertos de Moodle al NAS para poder conectarse a él de forma remota. Moodle usa el puerto 80. Mencionaste que ya estás ejecutando un servidor web. Si ese servicio web ya utiliza el puerto 80, entonces deberá cambiar el puerto ya sea para el servidor web o para el servidor Moodle.
Podrías ejecutar uno en el puerto 8080.
O
Podrías configurar un proxy, como NGNIX, que manejaría el tráfico entrante. La apariencia es la siguiente: el puerto 80 se reenviará al servidor NGNIX. Entonces podría tener su sitio web principal en yourhostname.com y el sitio moodle en un subdominio como moodle.yourhostname.com. Entonces NGNIX podría reenviar el tráfico según el nombre de host a diferentes servidores web backend.
Dicho todo esto, parece que deberías usar una solución alojada como: https://nuevo.moodle.net/
Respuesta2
Si Moodle se está ejecutando en otro puerto (que no sea el 80), entonces debería poder configurar su enrutador para acceder a él de manera similar a su NAS en el puerto 5000 (es decir, mediante el reenvío de puerto).
Sin embargo, si Moodle se está ejecutando en el puerto 80 del NAS (o no desea tener un número de puerto visible cuando usa Moodle en otro puerto), entonces necesitará configurar unproxy inversoen su red. En resumen, un proxy inverso escucha las solicitudes entrantes, por ejemplo HTTP, y facilita dirigir esas solicitudes al servidor adecuado. También ayuda a transmitir las respuestas al cliente original.
La creación de un proxy inverso normalmente implica simplemente configurar un servidor en su red para manejar esta función.Si bien es posible hacer esto a través de su NAS, probablemente tendrás un poco más de control sobre la PC solo con el servidor web. En ese caso, tu cadena de comunicación probablemente sería:
<Internet> <---> <Router> <---> <Web Server [Reverse Proxy]> <---> <NAS>
Tenga en cuenta que, si bien <Web Server>
su proxy inverso en el diagrama anterior, aún puede distribuir sitios web configurados en ese servidor.
Los pasos reales para configurar un proxy inverso variarán según el dispositivo o software utilizado. Por ejemplo, Apache usa ciertos módulos y "hosts virtuales", mientras que Nginx usa "bloques de servidores" (virtuales) y su NAS puede tener su propia forma de configurarse.
Independientemente, como regla general, querrá/necesitará un segundo nombre de dominio (dinámico o no) para acceder a Moodle. Esta suele ser la forma más fácil (o única) de distinguir los sitios web que se ejecutan en la misma combinación de IP:puerto. Potencialmente, esto puede ser un subdominio (es decir http://subdomain.example.com
).