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.