Collegare un servizio di risposte HTML ICAP a Squid 7
Collega un servizio di risposte ICAP esistente a un proxy diretto Squid 7 e decidi quali risposte deve trasformare.
Per un proxy diretto Squid che deve trasformare una risposta HTML, usa il percorso di adattamento. Squid gestisce la richiesta proxy del browser; un servizio di risposte ICAP esegue la trasformazione del corpo e restituisce il messaggio HTTP adattato.
Questo dà alla trasformazione un posto definito nel ciclo di vita della richiesta. Una regola di intestazione della risposta non può sostituire un parser HTML, e un filtro web separato non elabora automaticamente il traffico che passa attraverso Squid.
Collegare un servizio di risposte
Per una build di Squid 7 con supporto ICAP e un servizio compatibile esistente, la forma della configurazione è:
acl adaptation_clients src 192.0.2.0/24
icap_enable on
icap_service html_editor respmod_precache bypass=0 icap://127.0.0.1:1344/modify
adaptation_access html_editor allow adaptation_clients
adaptation_access html_editor deny all
L'intervallo di client e l'URI del servizio sono esempi. L'URI deve indicare un servizio ICAP reale che implementa la trasformazione della risposta; dichiarare /modify non ne crea uno. Il frammento integra il listener esistente del proxy e i suoi controlli di accesso.
respmod_precache seleziona l'adattamento delle risposte nel punto prima della cache. adaptation_access seleziona le transazioni per quel servizio. L'impostazione bypass=0 significa che Squid non può saltare silenziosamente questo servizio quando una transazione applicabile incontra un errore del servizio. Scegli quel comportamento in caso di errore a seconda che la trasformazione sia obbligatoria.
Le direttive di adattamento dipendono dalla versione. In particolare, questi riferimenti di configurazione elencano le interfacce di servizio ICAP e di accesso all'adattamento per Squid 7 e per le linee supportate precedenti, e le contrassegnano come non disponibili in Squid 8. Tratta il frammento come un esempio per Squid 7 invece di copiarlo in una versione qualsiasi.
Dare al servizio un contratto di trasformazione preciso
Specifica quali risposte sono idonee e quali modifiche sono necessarie. Una trasformazione solo HTML dovrebbe lasciare intatte immagini, archivi e contenuti multimediali non correlati. Il servizio deve anche gestire la rappresentazione che riceve effettivamente: corpi compressi, codifiche dei caratteri e i metadati che descrivono il corpo modificato. Inserire testo in byte di risposta arbitrari non è una trasformazione HTML generale.
Considera la cache quando la sostituzione è specifica dell'utente. Una trasformazione prima della cache e una cache condivisa sono una cattiva combinazione se la rappresentazione risultante è valida solo per un lettore. Mantieni allineate la capacità di cache e la politica di trasformazione, e rispetta le direttive no-transform applicabili.
Infine, un normale tunnel HTTPS CONNECT trasporta byte cifrati. Non espone l'HTML a un adattatore di risposte. Un'ispezione TLS gestita deliberatamente richiede la propria configurazione compatibile e la fiducia del client prima che le risposte decifrate possano entrare in questo percorso. La sola regola ICAP non aggiunge quella visibilità.