因此,我在 kubernetes 集群中有两个 nginx 服务器。我希望一个 nginx 服务器充当另一个为我的 phpmyadmin 文件提供服务的 nginx 服务器的反向代理。
为了从第一台服务器访问我的 phpmydadmin,用户必须输入:
https://mynginx.example/phpmyadmin
从那里我希望我的 nginx 服务器在代理传递之前用 / 替换 /phpmyadmin 重写 URI。
我现在写这个
location /phpmyadmin {
rewrite /phpmyadmin(/.*) $1 break;
proxy_pass https://phpmyadmin.default.svc.cluster.local:5000;
}
但实际上,当它返回 404 错误时,当我查看为 phpmyadmin 提供服务的 nginx 上的日志时,我看到:
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)