콘텐츠 요청을 최소화하기 위해 임시 http 캐시로 nginx를 사용하려고합니다. 다음http_ 302/301 응답을 proxy_pass 서버가 수신 할 때 헤더 대신 실제 내용을 nginx (프록시) 캐시하는 방법은 무엇입니까?
이rewrite /([^/]+\.jpg) /index.php?file=$1 break;
proxy_pass http://www.phpserver.com;
PHP 스크립트 (즉 http://www.phpserver.com/index.php 될 것이다) : 내가 직접 위치에 고정 proxy_pass 매개 변수를 사용할 수 없습니다 대신 그 중 내가 PHP 스크립트로 재 작성을 사용하므로 내 콘텐츠를 여러 서버에 HTTP 코드 301을 사용하여 실제 파일 위치 (예 : http://www.contentserver1.com/filepath/file.jpg)로 리디렉션됩니다.
문제는 nginx가 실제 콘텐츠를 검색, 캐싱 및 반환하는 대신 리디렉션 헤더를 반환한다는 것입니다.
그래서 헤더를 캐시하는 대신 실제 서버에서 내용을 가져 오려면 어떻게해야합니까?
나는 프록시 개념을 이해하지만, 전체적인 점은이 경우 프록시가되는 nginx이다. 이 솔루션은 나를 위해 작동하지 않지만 실제 응용 프로그램과 함께이 nginx 프록시의 여러 인스턴스를 사용하고 다른 단일 프록시가 필요하지 않습니다. 그래서 nginx가이 매우 간단한 논리를 이해하게 만드는데 관심이 있습니다. 나 또한 동일한 목적을 위해 upstream 명령어를 사용하려고 시도했지만 404 failover가 적절하게 시작되지 않았다. – nikoladd
업스트림 풀을 통해 문제를 해결했습니다. 답변 주셔서 감사합니다. – nikoladd
@nikoladd 어떻게 해결 했습니까? – Vad