URL de reescrita Nginx para passagem de proxy

URL de reescrita Nginx para passagem de proxy

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)

informação relacionada