Entonces tengo dos servidores nginx en un clúster de Kubernetes. Quiero que un servidor nginx actúe como proxy inverso para el otro que sirve mis archivos phpmyadmin.
Para acceder a mi phpmydadmin desde el primer servidor, el usuario debe escribir:
https://mynginx.example/phpmyadmin
A partir de ahí quiero que mi servidor nginx reescriba el URI antes de que pase el proxy reemplazando /phpmyadmin por /.
escribo esto por ahora
location /phpmyadmin {
rewrite /phpmyadmin(/.*) $1 break;
proxy_pass https://phpmyadmin.default.svc.cluster.local:5000;
}
Pero en realidad, cuando me devuelve el error 404 y cuando vi registros en nginx que sirve phpmyadmin, veo:
19 open() "/var/www/localhost/htdocs/phpmyadmin/phpmyadmin" failed (2: No such file or directory)
No parece reemplazar mi /phpmyadmin por /.
Todo mi archivo de configuración es:
server {
listen 80 default_server;
listen [::]:80 default_server;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
root /www;
index index.html;
ssl_certificate /tls/tls.crt;
ssl_certificate_key /tls/tls.key;
location /phpmyadmin {
rewrite /phpmyadmin(/.*) $1 break;
proxy_pass https://phpmyadmin.default.svc.cluster.local:5000;
}
location ~ /wordpress(.*) {
return 307 $scheme://$host:5050$1;
}
}
Respuesta1
Lo arreglé ! Fue un problema con mi expresión regular (/.*), eliminé / y ahora funciona. Gracias por tu ayuda y sugerencia. Sigo los enlaces y aprendí algunas cosas x)