Nginx를 설정하면 에포크 헤더가 선택적으로 만료됩니다.

Nginx를 설정하면 에포크 헤더가 선택적으로 만료됩니다.

내 서버에는 CDN을 통해 모바일 앱을 서비스하고 앱에 전달된 콘텐츠를 관리하는 데 사용되는 백엔드 웹 앱을 사용하는 데 사용되는 이미지가 포함된 폴더가 있습니다. 후자(백엔드 웹앱)의 경우 문제의 폴더에서 전달된 이미지가 브라우저에 의해 캐시되지 않도록 하여 작성자가 업데이트하는 즉시 백엔드 앱에 업데이트된 버전을 표시할 수 있도록 하고 싶습니다. CDN은 모바일 앱으로 전달하기 위해 동일한 이미지를 가져오고 새로 고침 설정이 30분이므로 날짜가 잘못된 콘텐츠 이미지를 전달하지 않습니다.

내 질문 - Nginx가 expires epochwebapp에서 발생하는 요청에 대해서만 헤더를 삽입하도록 어떻게 구성할 수 있습니까? 이 질문에 대한 답변의 일부는 다음과 같습니다.이 SO 스레드. 헤더를 삽입하기 전에 리퍼러를 검사하도록 제안된 솔루션을 수정하는 방법이 있습니까? 따라서 예를 들어 에서 시작되는 모든 요청은 헤더 https://example.com/backoffice로 응답되지만 expires epoch다른 요청(예: CDN 풀 요청에서 오는 요청)은 헤더로 응답되지 않습니다.

답변1

여기서는 간단한 것만 if으로도 충분합니다:

server {

    location ... {

        if ($http_referer ~* ^https://example.com/backoffice) {
            expires epoch;
        }

    }

}

일반적으로 그렇다는 점을 명심하세요.크게웹 애플리케이션이 캐싱 결정을 내리고 적절한 지시어로 응답하는 것이 좋습니다.

관련 정보