NGINX에 사용 가능한 변수

NGINX에 사용 가능한 변수

핫링크된 경우 원시 파일을 제공하고 싶지만 누군가 브라우저에서 파일을 방문하는 경우 URL을 다시 작성하고 싶습니다.

나는 이 핫링크 예시를 몇 번 본 적이 있습니다.

location /pictures/ {
   valid_referers none blocked mywebsite.com *.mywebsite.com;
   if ($invalid_referer) {
      return   403;
  }
}

하지만 유효한 리퍼러를 어떻게 참조할 수 있나요? 다른 페이지에서 링크되는 경우(핫 링크) 요청된 원시 파일을 제공하려고 합니다.

누군가 브라우저에서 해당 파일을 보고 있다면 HTML을 추가하고 싶습니다(즉, 다른 URL로 다시 작성).

외에 어떤 변수를 사용할 수 있나요 $invalid_referer?

난 노력 했어:

if( !$invalid_referer){
    return 403; #allow hot-linking only;
}

그리고 문서에서 사용 가능한 다른 변수에 대한 언급을 볼 수 없습니다.http://nginx.org/en/docs/http/ngx_http_referer_module.html

답변1

의 가치를 확인할 수 있습니다.$invalid_referer

로부터선적 서류 비치:

포함된 $invalid_referer 변수가 빈 문자열로 설정되도록 하는 "Referer" 요청 헤더 필드 값을 지정합니다. 그렇지 않으면 변수가 "1"로 설정됩니다. 일치 항목 검색은 대소문자를 구분하지 않습니다.

if($invalid_referer = ""){
    return 403; #allow hot-linking only;
}

너도 할 수 있었어

if($invalid_referer != "1"){
    return 403; #allow hot-linking only;
}

관련 정보