所以我在一个 kubernetes 集群中有两个 nginx 服务器。我希望一个 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 错误并且当我看到服务于 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;
}
}