我需要将 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;
}
此配置有效,但以下情况除外:
- https://192.168.99.6:5000/phpmyadmin。但是如果
/
末尾有 ,那就没问题了。 - 登录后出现 404 错误,但如果我按“返回”,一切都正常。
- 我退出后也出现 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;
}
根据我对您的描述的理解,您实际上根本不需要重写。