Squid의 URL 재작성기가 응답 본문을 수정할 수 있나요?
포워드 프록시를 확장할 때 요청 URL 선택을 응답 적응 및 TLS 복호화와 분리하세요.
url_rewrite_program는 요청 URL 결정을 담당합니다. 요청 정보를 받아 Squid의 헬퍼 프로토콜로 응답합니다. 내려받은 파일을 받아 편집해 돌려주지는 않습니다.
| 원하는 작업 | 관련 경계 |
|---|---|
| 브라우저를 리디렉션하거나 다른 요청 URL을 선택 | 요청 단계에서 URL 재작성 헬퍼의 역할 |
| 보이는 HTTP 응답 본문을 수정 | 응답 적응 기능, 예를 들어 설정된 ICAP 응답 수정 |
| 일반 CONNECT 내부의 HTTP 읽기 | 먼저 적절한 배포 구성에서 목적지 TLS를 종료해야 함 |
| 애플리케이션이 암호화한 파일 복호화 | 파일의 형식, 알고리즘, 키이며 전송 방식과 무관 |
마지막 두 행은 혼동하기 쉽습니다. HTTPS로 전송되는 일반 파일은 TLS로 보호됩니다. 애플리케이션이 암호화한 파일은 HTTPS가 종료된 뒤에도 암호화된 채 남을 수 있습니다. 적응 인터페이스를 고르는 것만으로는 애플리케이션의 키도, 그 복호화 알고리즘도 얻을 수 없습니다.
일반 CONNECT는 암호화된 터널 바이트를 중계합니다. URL 헬퍼는 내부 응답을 노출하지 않습니다. 검사가 필요한 설계라면 그 트래픽을 배포 환경에서 복호화할 수 있는지, 그리고 해야 하는지를 먼저 정해야 합니다.
Squid가 HTTP 메시지를 검사할 수 있는 곳에서도 응답 수정 서비스는 콘텐츠 인코딩, 변경된 길이, 실패 시 동작을 여전히 책임집니다. 변환을 정의한 뒤 인터페이스를 고르세요. 동작하는 URL 재작성 예제를 결코 받지 않는 처리 단계로 확장하지 마세요.