다른 위치에서 제공되는 것처럼 보이도록 보호된 폴더 경로를 마스크하는 방법은 무엇입니까?

다른 위치에서 제공되는 것처럼 보이도록 보호된 폴더 경로를 마스크하는 방법은 무엇입니까?

이미지가 포함된 보호된 폴더를 제공하기 위해 X-Accel을 사용하고 있습니다.https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/

현재 폴더에 파일을 저장하고 있습니다 /protected_files. 이제 X-Accel을 사용하여 파일을 보려면 URL 이 포함된 경로 /protected_files(예 protected_files/image1.jpg: .

보호된 폴더에 대한 보호를 설정하는 방법은 다음과 같습니다.

location /protected_files {
  internal;
}

그런 다음 X-Accel로 파일을 보려면 X-Accel-Redirect.

다른 URL에서 제공되는 것처럼 보이도록 URL을 마스킹하는 방법이 있습니까? 좋다 /fake_folder/image1.jpg?

내가 시도했지만 작동하지 않은 것은 원하는 가짜 이름으로 다른 폴더를 만든 다음 실제 이름에 별칭을 추가하는 것입니다.

location /fake_folder {
  internal;
  alias /protected_files;
}

그런 다음 을 사용하여 URL을 전달했지만 /fake_folder/image1.jpg오류 404가 발생합니다.

답변1

에 따르면선적 서류 비치내부에서는 다시 작성된 요청이 내부 요청으로 계산됩니다. 다음이 작동합니다.

location /fake_folder {
    rewrite ^/fake_folder/(.*)$ /protected_files/$1 break;
}

관련 정보