2011-11-12 3 views
0

나는 웹 페이지를 가져 오기 위해 프록시를 통해 file_get_contents를 사용하고 있습니다. 이 설정은 지금 좋은 시간 동안 좋았지 만, 어제부터 이상한 결과를 내기 시작했습니다.프록시 문제를 통해 file_get_contents

file_get_contents 함수의 출력이 오래된 페이지입니다. 프록시를 변경하면 phpinfo 페이지 나 PHP에서 초기화 된 모든 변수의 인쇄 된 배열을 얻을 수 있습니다. 두 서버는 모두 프록시에 따라 결과에 연결됩니다.

내 서버에 캐싱 문제가 있거나 프록시의 캐싱 문제가 있습니까? 서버가 책임질 수 있습니까?

페이지를 직접 또는 웹 프록시를 통해 액세스해도 위의 문제가 발생하지 않습니다.

답변

1

프록시가 페이지 캐싱 가능성이 큽니다. file_get_contents()는 간단한 get 소스이며 메모리 함수에 저장됩니다. 캐시되지 않습니다. 나는 오징어 프록시 캐싱에 대한 수많은 설정을 알고 있지만, 당신은 더 이상의 도움을 위해 귀하의 프록시 설정을 상세히해야 할거야

+0

이상한 것은 내가 다른 프록시 서버를 사용하면 같은 오래된 페이지 그것에게 같은 상태가 -이 문제가 내 편이라고 생각하는 곳입니다. –

+0

이상한. 그것은 확실히 file_get_contents()가 아닙니다. 그 위치에서 간단한 읽기 및 메모리 기능에 저장합니다. 그래서 어떤 종류의 mitm 캐싱 시스템이 모든 네트워크 트래픽을 가로막는 (의심스러운) 프록시를 캐싱합니다 (완전히 모호한 프록시를 시도 했습니까?) 드물지만 일부 사람들은 프록시 서버를 어리 석음으로 구성하는 것을 보았습니다. 정적 캐시처럼 사용하여 페이지 요법을 요구하는 사람의 메모를 남기므로 다른 사람이 해당 프록시를 사용하여 요청한 이전 페이지를 가져올 수 있습니다.) 다시 한 번 의심 스럽습니다. – Lee

+0

또는 그 서버가 브라우저가 무시할 수도 있지만 프록시 또는 서버가 준수하는 캐시 제어. 솔직히 말해서, 지속적인 디버깅과 추적의 경우입니다. 나는 문자 그대로 같은 과정을 스스로하고 나서 내 자신의 조사에서 답을 얻지 않고 흑인과 백인의 대답을 줄 수는 없었다. – Lee