miércoles, 6 de mayo de 2020

Moodle tras un reverse proxy NGINX



Configurar Moodle para que el tráfico hacia él pase por un reverse proxy NGINX.



Si tenemos un servidor web que aloje un Moodle y queremos pasar el tráfico hacia él a través de un reverse proxy como NGINX, deberemos aplicar configuraciones específicas tanto en el Moodle como en NGINX. De lo contrario, al acceder al moodle a través del proxy, nos encontraremos con el mensaje:

Reverse proxy enabled, server can not be accessed directly, sorry.

Para que el Moodle sea accesible tras el proxy, primero deberemos decirle que se está accediendo a él a través de un reverse proxy. Para ello, deberemos añadir los parámetros reverseproxy y sslproxy en el archivo de configuración de Moodle (config.php) y definirlos como true. Del mismo modo, deberemos fijar el parámetro wwwroot hacia el FQDN que nos llevará al Moodle (con https delante).


Moodle



El config.php de Moodle deberá tener las siguientes líneas:

$CFG->wwwroot = 'https://dominio.com'; ... $CFG->reverseproxy = true; $CFG->sslproxy = true;


NGINX



En el archivo nginx.conf del NGINX que actúe como proxy inverso deberemos especificar una serie de cabeceras que se traspasarán al servidor final:

server { listen 443 ssl; server_name dominio.com; access_log /var/log/nginx/dominio.com_access.log; error_log /var/log/nginx/dominio.com_error.log; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_pass_request_headers on; proxy_pass http://192.168.1.1; } }

Sobretodo, debemos evitar esta cabecera:

proxy_set_header Host $host;

Sustituimos la IP 192.168.1.1 por la IP o FQDN del servidor donde está corriendo Moodle y a partir de este momento, ya nos funcionará Moodle tras un reverse proxy NGINX.


Fuentes:

https://serverfault.com/questions/919318/moodle-behind-ssl-reverse-proxy-reverse-proxy-enabled...
0

0 comentarios:

Publicar un comentario