Iubenda logo
Inizia la generazione

Documentazione

Indice dei contenuti

Come evitare che gli Ad blocker limitino la raccolta del consenso ai cookie

Se ti servi di annunci pubblicitari personalizzati per monetizzare i contenuti del tuo sito web, gli Ad blocker possono essere un problema, visto che possono bloccare la visualizzazione del banner dei cookie e impedire la raccolta del consenso.

In questa guida, ti mostreremo come impostare un CDN reverse proxy con sostituzione dell’URL, evitando così di intaccare il tasso di consenso sul tuo sito e come impostare la cache di cdn.iubenda.com su un dominio personalizzato assicurando totale continuità in caso di problemi al CDN di iubenda.
Vediamo come! 👉

Disclaimer importante

Questo documento e la configurazione inclusa sono destinati esclusivamente a esperti, o una persona incaricata di amministrare l’infrastruttura dove viene installato il proxy.

Non è destinato a chi non è responsabile della rete o a chi cerca soluzioni temporanee o workaround, sperando che, semplicemente, “funzioni”.

Ci sono troppi problemi che potrebbero sorgere nelle combinazioni di sistemi e versioni software, impostazioni e altri componenti in uso per creare una guida completa che li copra tutti.

Impostare un CDN reverse proxy

Istruzioni

Questo documento fornisce le istruzioni e la configurazione per impostare un reverse proxy NGINX che:

  • Esegue il proxy dei contenuti CDN statici verso cdn.iubenda.com da un URL personalizzato (in questo esempio: cdn.customer.com)
  • Sostituisce l’URL nei documenti trasmessi.
  • NON inoltra l’IP del client con l’header X-Forwarded-For e X-Real-Ip
  • Fornisce risorse in cache nel caso in cui il CDN di iubenda abbia problemi di qualsiasi tipo.
Note
  • Queste istruzioni richiedono che i moduli ngx_http_sub e ngx_http_proxy siano attivati. Di solito, sono installati di default.
  • Usa un dominio a tua scelta invece di cdn.customer.com in entrambe le istruzioni server_name e sub_filter .
  • Aggiungi una configurazione SSL corretta, come richiesto.
  • Assicurati che esista /tmp/cache e che abbia la corretta proprietà: (ad esempio, chown nginx:nginx /tmp/cache), oppure cambiala con una posizione e un file di tua scelta.

Esempio di configurazione

Importante

La geolocalizzazione nativa di Privacy Controls and Cookie Solution (parametro countryDetection:true) con questa configurazione non funzionerà e la localizzazione dell’utente finale sarà sempre considerata come quella in cui si trova il server in cui è installato il reverse-proxy.

Se si utilizzano impostazioni di compliance diverse in base alla localizzazione degli utenti, è necessario basarsi sul proprio sistema di geolocalizzazione per caricare la configurazione corretta.

La configurazione qui sotto è un esempio di un host virtuale su Port 80. La configurazione deve essere completata con i parametri SSL, in base alle impostazioni scelte.

# iubenda CDN local proxy configuration
# Version 1.1 - Included compression support

proxy_cache_path /tmp/cache levels=1:2 keys_zone=tmpcache:100m max_size=200m 
inactive=180m;

server {
  listen                      80;
  server_name                 cdn.customer.com;

  access_log                   /var/log/nginx/cdn-customer-access.log;
  error_log                    /var/log/nginx/cdn-customer-error.log;

  location / {
    # Link rewriting
    sub_filter 'cdn.iubenda.com' 'cdn.customer.com';
    sub_filter_types *;
    sub_filter_once off;
    
    # Enables compression
    gzip on;
    gzip_static off;

    # Enables cache for this location
    proxy_cache tmpcache;

    # Delivers cached stale files instead of relaying the error to the client.
    proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
    proxy_cache_background_update on;
    
    # Proxy cache valid for 30 min
    proxy_cache_valid 200 301 302 304 30m;
    proxy_pass https://cdn.iubenda.com/;
    proxy_set_header Accept-Encoding "";
  }
}

Configurazione SDK

Se stai utilizzando il nostro SDK, per usare la configurazione del tuo reverse proxy, puoi seguire i seguenti esempi di configurazione:

Per Android:

IubendaCMPConfig config = IubendaCMPConfig.builder() 
 .siteId("XXXXX") //use your siteId
 .cookiePolicyId("YYYYY") //use your cookiePolicyId
 .proxyUrl("https://iubenda.example-client-domain.com/cs/mobile.htm") //use your own reverse-proxy URL
 .build();

Per iOS:

let config = IubendaCMPConfiguration()
config.siteId = "XXXXX" //use your siteId
config.cookiePolicyId = "YYYYY" //use your cookiePolicyId
config.proxyUrl = “https://iubenda.example-client-domain.com/cs/mobile.htm" //use your own reverse-proxy URL
IubendaCMP.initialize(with: config)

Ricorda che questa configurazione è disponibile a partire dalla versione 2.6.0 del nostro SDK (sia per Android, sia per iOS).

Come sempre, se hai bisogno di assistenza o chiarimenti, scrivici via email a business@iubenda.com. Siamo felici di aiutarti.