Nginx는 프록시 통과 시 경로 매개변수에서 이중 슬래시 제거를 방지합니다.

Nginx는 프록시 통과 시 경로 매개변수에서 이중 슬래시 제거를 방지합니다.

내 nginx에 구성이 있습니다.

    location /image-optimizer/ {
        proxy_pass http://192.168.1.20:80/;
    }

문제는 nginx 프록시가 통과할 때 경로 매개변수에서 이중 슬래시를 제거한다는 것입니다. 예를 들어 내가 전화할 때:

http://localhost/image-optimizer/upload/w_500,h_500,q_90/https://m0.cl/t/butterfly-3000.jpg

192.168.1.20:80의 서비스 수신: http://192.168.1.20:80/upload/w_500,h_500,q_90/https:/m0.cl/t/butterfly-3000.jpg

Nginx는 https://에서 이중 //를 제거합니다.

그것을 피하는 방법?

추신: 운이 좋지 않은 urlencode를 사용해 보았습니다.

https%3A%2Fm0.cl%2Ft%2Fbutterfly-3000.jpg

답변1

이 지시문을 사용합니다.

merge_slashes off;

관련 정보