proxy_cache
클라이언트에서 요청한 정적 파일에 대한 캐시를 만드는 데 사용되는 것에 대해 조금 알고 있습니다 . 하지만 proxy_buffer
정말 혼란 스러웠습니다. 프록시된 백엔드 서버에 대해 버퍼링이 되나요?
그리고 나는 또한 그것 과 함께 그리고 그 뒤에 나타나는 것을 client_max_body_size
보고 나타납니다 . 그게 그렇게 중요한 건가?client_body_buffer_size
nginx.conf
proxy_cache
proxy_cache
답변1
프록시 버퍼는 nginx가 프록시 서버로부터 받은 응답을 처리하는 방식과 관련이 있습니다.
버퍼링이 활성화되면 nginx는 프록시 서버로부터 응답을 즉시 메모리 버퍼로 수신하고, 응답을 받은 후 프록시 서버에 대한 연결을 닫습니다. 그런 다음 버퍼에서 클라이언트로 응답을 보냅니다.
버퍼링이 비활성화되면 nginx는 클라이언트에 동기적으로 응답을 보냅니다. 이는 클라이언트에 완전한 응답을 보내는 데 걸리는 동안 프록시 서버에 대한 연결이 열려 있음을 의미합니다.
따라서 버퍼링은 프록시 서버에 대한 연결이 더 일찍 닫힐 수 있도록 각 개별 클라이언트에 대한 응답을 별도로 임시로 저장하는 방법입니다.
프록시 캐싱은 nginx가 데이터를 로컬에 저장하고 캐시된 데이터 복사본을 여러 클라이언트에 제공하는 프로세스입니다. 즉, 모든 클라이언트 요청에 대해 프록시된 서버가 쿼리되지는 않지만 캐시된 데이터가 여전히 유효한 것으로 간주되면(수명 기간이 지나지 않음) 캐시에서 데이터가 제공됩니다.
프록시 캐싱을 사용하면 프록시 서버의 로드가 훨씬 줄어들지만 오래된 데이터가 클라이언트로 전송될 수 있습니다.