Portanto, tenho dois servidores nginx em um cluster Kubernetes. Quero que um servidor nginx atue como proxy reverso para o outro que serve meus arquivos phpmyadmin.
Para acessar meu phpmydadmin a partir do primeiro servidor, o usuário deve digitar:
https://mynginx.example/phpmyadmin
A partir disso, quero que meu servidor nginx reescreva o URI antes que o proxy passe substituindo /phpmyadmin por /.
Eu escrevo isso por enquanto
location /phpmyadmin {
rewrite /phpmyadmin(/.*) $1 break;
proxy_pass https://phpmyadmin.default.svc.cluster.local:5000;
}
Mas na verdade quando ele me retorna o erro 404 e quando vi logs no nginx que serve phpmyadmin eu vejo:
19 open() "/var/www/localhost/htdocs/phpmyadmin/phpmyadmin" failed (2: No such file or directory)
Parece não substituir meu /phpmyadmin por /.
Todo o meu arquivo de configuração é:
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;
}
}
Responder1
Eu consertei isso ! Foi um problema com meu regex (/.*), removi o / e agora funciona Obrigado pela ajuda e sugestão segui os links e aprendi algumas coisas x)