그래서 kubernetes 클러스터에 두 개의 nginx 서버가 있습니다. 하나의 nginx 서버가 내 phpmyadmin 파일을 제공하는 다른 서버의 역방향 프록시 역할을 하길 원합니다.
첫 번째 서버에서 phpmydadmin에 액세스하려면 사용자는 다음을 입력해야 합니다.
https://mynginx.example/phpmyadmin
여기서는 /phpmyadmin을 /로 대체하여 프록시를 전달하기 전에 내 nginx 서버에서 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)