Nginx 配置为反向代理

Nginx 配置为反向代理

我需要将 nginx 配置为反向代理。它应允许使用反向代理 private_ip:5000 访问 /phpmyadmin。这是 nginx.conf 的一部分:

location ~ /phpmyadmin {
   rewrite ^.*\/phpmyadmin(\/?)(.*)$ /$2 break;
   proxy_pass        https://192.168.99.6:5000;
   proxy_redirect     off;
   proxy_set_header   Host $host;
}

此配置有效,但以下情况除外:

  1. https://192.168.99.6:5000/phpmyadmin。但是如果/末尾有 ,那就没问题了。
  2. 登录后出现 404 错误,但如果我按“返回”,一切都正常。
  3. 我退出后也出现 404 错误。

请帮我修复这个问题。所有服务都在 k8s 集群中。

答案1

目前还不清楚这里的目标是什么。

如果后端服务正在监听与 /phpmyadmin 匹配的 URI,并且您的 nginx 配置中有一个 /phpmyadmin 的位置块,那么简单地输入以下内容就足够了:

location /phpmyadmin {
  proxy_pass https://192.168.99.6:5000;
  proxy_set_header Host $host;
}

如果目标是降低/phpmyadmin URI 段,然后类似:

location /phpmyadmin/ {
  proxy_pass https://192.168.9.6:5000/;
  proxy_set_header Host $host;
}

根据我对您的描述的理解,您实际上根本不需要重写。

相关内容