
Hemos configurado un servidor de chat Matrix-Synapse en la raíz de un dominio y nos gustaría redirigir el subdirectorio /element al cliente Element alojado en otro dominio, pero sin cambiar la URL del navegador.
Anteriormente utilizamos una configuración de nginx como esta para lograrlo, pero por alguna razón no funciona con esta configuración. La redirección funciona, pero cambia la URL del navegador. Aquí está el archivo de configuración de nginx en el dominio Matrix; ejemplo.matrix es el dominio del servidor Matrix, ejemplo.element es el dominio del cliente Element.
upstream element {
server example.element;
}
server {
listen 80;
listen [::]:80;
server_name example.matrix;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.matrix;
ssl_certificate /etc/letsencrypt/live/example.matrix/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.matrix/privkey.pem;
location /element/ {
proxy_pass http://element/;
proxy_set_header Host $host;
}
location / {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
server {
listen 8448 ssl default_server;
listen [::]:8448 ssl default_server;
server_name example.matrix;
ssl_certificate /etc/letsencrypt/live/example.matrix/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.matrix/privkey.pem;
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
client_max_body_size 50M;
}
}
¿Alguien puede detectar lo que nos falta en esta configuración?