Nginx переписывает URL для передачи прокси

Nginx переписывает URL для передачи прокси

Итак, у меня есть два сервера nginx в кластере kubernetes. Я хочу, чтобы один сервер nginx действовал как обратный прокси для другого, который обслуживает мои файлы phpmyadmin.

Для доступа к моему phpmydadmin с первого сервера пользователь должен ввести: https://mynginx.example/phpmyadmin После этого я хочу, чтобы мой сервер nginx перезаписывал URI перед передачей прокси-сервера, заменяя /phpmyadmin на /.

Я пишу это сейчас

      location                /phpmyadmin {
            rewrite           /phpmyadmin(/.*) $1 break;
            proxy_pass        https://phpmyadmin.default.svc.cluster.local:5000;
      }

Но на самом деле, когда он возвращает мне ошибку 404 и я смотрю логи на nginx, который обслуживает phpmyadmin, я вижу:

19 open() "/var/www/localhost/htdocs/phpmyadmin/phpmyadmin" failed (2: No such file or directory)

Похоже, он не заменяет мой /phpmyadmin на /.

Весь мой конфигурационный файл:

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;
      }
}

решение1

Я исправил это! Это была проблема с моим регулярным выражением (/.*), я удалил / и теперь все работает Спасибо за вашу помощь и предложение Я прошел по ссылкам и узнал кое-что x)

Связанный контент