Configurazione di proxy e servizi di bilanciamento del carico per Tableau Server

Nella maggior parte delle imprese, Tableau Server deve comunicare con Internet. Tableau Server è stato progettato per operare in una rete interna protetta. Non configurare Tableau Server direttamente su Internet o in una DMZ. Al contrario, le comunicazioni tra la rete e Internet dovrebbero essere mediate da server proxy. I server proxy di inoltro mediano il traffico dall’interno della rete alle destinazioni su Internet. I server proxy inversi e i servizio di bilanciamento del carico mediano il traffico da Internet a destinazioni all’interno della rete.

Destinatari dell’articolo

Questo articolo è destinato ai professionisti IT che hanno familiarità con soluzioni generali di rete, di bilanciamento del carico e del proxy gateway. L’articolo descrive come e quando Tableau richiede l’accesso a Internet e spiega come configurare la rete e Tableau per l’utilizzo dei server proxy e dei servizi di bilanciamento del carico per l’accesso da e a Internet. Sono disponibili molte soluzioni di terze parti, pertanto alcuni dei contenuto dell’articolo sono necessariamente generici.

Prima di configurare un server proxy, consulta Comunicare con Internet.

Configurare un server proxy di inoltro

Per abilitare le comunicazioni da Tableau Server a Internet, distribuisci Tableau Server dietro un server proxy di inoltro. Quando Tableau Server deve accedere alla rete, non invia la richiesta direttamente a Internet. Invece, invia tale richiesta al proxy di inoltro, che a sua volta la inoltra. I proxy forward aiutano gli amministratori a gestire il traffico verso Internet per attività quali il bilanciamento del carico, il blocco dell’accesso ai siti, ecc.

Se utilizzi un proxy di inoltro, è necessario configurare i computer che eseguono Tableau Server all’interno della rete per inviare traffico al proxy di inoltro. Tableau Server non supporta l’autenticazione proxy manuale o pass-through.

Se stai eseguendo l’autenticazione OpenID con una soluzione proxy di inoltro, sono necessarie configurazioni aggiuntive. Consulta Configurare Tableau Server per OpenID Connect.

Configurare Tableau Server su Linux per il funzionamento con un proxy di inoltro

È consigliabile configurare Tableau Server per l’utilizzo della soluzione proxy di inoltro come parte del processo di installazione. Nello specifico, configura Tableau Server quando esegui ./initialize-tsm come descritto in Installare e inizializzare TSM, oppure come parte di Installazione automatizzata di Tableau Server.

Nella procedura seguente viene descritto come creare un file di configurazione proxy di inoltro per Tableau Server su Linux.

Il file di configurazione è archiviato nella seguente directory:

~<unprivileged_user>/.config/systemd/tableau_server.conf.d

Per impostazione predefinita, Tableau Server crea l’utente senza privilegi, tableau. Di conseguenza, il percorso predefinito per la directory di configurazione è:

~tableau/.config/systemd/tableau_server.conf.d

Sia in questo argomento che nel file di configurazione riportato di seguito, il nome del file di configurazione proxy è definito come 20-proxy.conf. È possibile denominare questo file in base alla tua convenzione, ma deve utilizzare l’estensione .conf. systemd elaborerà i file memorizzati nella directory tableau_server.conf.d in ordine lessicale, in base al nome del file.

  1. Esegui il comando tsm stop.

  2. Avvia una sessione come utente senza privilegi. Per impostazione predefinita, tableau è l’utente senza privilegi creato da Tableau Server durante l’installazione. Esegui questo comando:

    sudo su -l tableau

  3. Crea o apri il file 20-proxy.conf nella directory tableau_server.conf.d. Se durante l’installazione è stato configurato il proxy di inoltro, allora il file 20-proxy.conf è già stato creato.

    • Crea il file. Esegui questo comando:

      touch ~tableau/.config/systemd/tableau_server.conf.d/20-proxy.conf

    • Apri il file 20-proxy.conf in un editor di testo.

  4. Copia il contenuto del file di configurazione del proxy nel file. Se stai modificando un file esistente, presta attenzione a non eliminare la configurazione. Il contenuto del file di configurazione del proxy include istruzioni su come impostare le configurazioni proxy di inoltro. Dopo aver modificato e salvato il file, vai al passaggio 5.

  5. Contenuto del file di configurazione del proxy
    
    # Always edit this file on Tableau Server as the unprivileged user. By default, tableau, is the unprivileged user created by Tableau Server during installation.
    # Set environment variables http_proxy and https_proxy to point to your proxy host.
    # For example, to set the proxy to example-host for ports 80 and 443, run the following commands:
    #
    http_proxy=http://example-host:80/
    https_proxy=http://example-host:443/
    #
    # Take care to use 'http' when you specify the URL for the https_proxy environmental variable.  
    # Do not specify the 'https' protocol for the value of  the https_proxy environmental variable.
    #                   
    # To bypass the proxy server, specify exceptions in the no_proxy variable. Use this variable if your proxy server does not route internal addresses. 
    # You must also add exceptions to this proxy configuration to guarantee that all communications within a local Tableau Server cluster (if you have one now or will have one later) do not route to the proxy server. 
    # Enter both the host name and the IP address for each computer. Additionally, include the cannonical host name (localhost) and IP address (127.0.0.1) for the local computer.
    # For example, to specify exceptions for a three-node cluster:
    #
    no_proxy="localhost,127.0.0.1,hostname1,hostname2,hostname3,IP1,IP2,IP3"
    #									
    # Where "hostname1" is the actual hostname of node 1, and "IP1" is the actual IP address of node 1, etc.
  6. Esci dalla shell Tableau. Esegui questo comando:

    exit

  7. Riavvia i servizi aziendali TSM. Esegui i seguenti comandi script:

    sudo /opt/tableau/tableau_server/packages/scripts.<version>/stop-administrative-services

    sudo /opt/tableau/tableau_server/packages/scripts.<version>/start-administrative-services

  8. Riavvia TSM.

    tsm restart

Strumento di segnalazione degli arresti anomali del server

Se la tua organizzazione utilizza un server proxy per la connessione a Internet, devi configurare lo strumento di segnalazione degli arresti anomali di Tableau Server per l’utilizzo del proxy. Anche se Tableau Server è già stato configurato per l’utilizzo di un proxy, è necessario configurare separatamente anche lo strumento di segnalazione degli arresti anomali del server. Per configurare il proxy per lo strumento di segnalazione degli arresti anomali del server, consulta Configurare lo strumento di segnalazione degli arresti anomali del server.

Funzionamento di un proxy inverso e di un servizio di bilanciamento del carico con Tableau Server

I proxy inversi e i servizi di bilanciamento del carico sono server che ricevono richieste da client esterni (Internet) e le inoltrano a Tableau Server. Queste soluzioni rendono disponibile Tableau Server per Internet senza dover esporre l’indirizzo IP singolo di tale istanza specifica di Tableau Server. Possono anche fungere da dispositivi di autenticazione e pass-through, in modo che nessun dato venga archiviato in posizioni accessibili a utenti esterni all’azienda. Questo requisito può essere importante per le organizzazioni che sono soggette a varie norme sulla privacy come PCI, HIPAA o SOX.

Il seguente diagramma illustra il percorso di comunicazione quando un client effettua una richiesta a Tableau Server che è configurato per funzionare con un server reverse proxy e/o un servizio di bilanciamento del carico.

  1. Un client esterno avvia una connessione a Tableau Server. Il client utilizza l’URL pubblico che è stato configurato per il server proxy inverso o il servizio di bilanciamento del carico, ad esempio https://tableau.example.com. Il client non sa che sta accedendo a un proxy inverso o a un servizio di bilanciamento del carico.

  2. Il proxy inverso esegue a sua volta il mapping della richiesta a una richiesta a Tableau Server. In alcuni scenari il proxy inverso potrebbe essere configurato per autenticare il client (utilizzando SSL/TLS) come prerequisito per inoltrare la richiesta a Tableau Server.

  3. Tableau Server riceve la richiesta e invia la risposta al proxy inverso o al servizio di bilanciamento del carico.

  4. Il proxy inverso o il servizio di bilanciamento del carico rinvia il contenuto al client. Il client ha appena avuto un’interazione con Tableau Server e non ha modo di rilevare che per la comunicazione sono stati utilizzati server intermedi.

TLS/SSL

A seconda dello scenario del gateway, dovresti valutare l’opportunità di configurare il proxy inverso e i server di bilanciamento del carico per l’utilizzo di TLS/SSL per tutto il traffico esterno alla rete. Questo aiuta a garantire la privacy, l’integrità dei contenuti e l’autenticazione. A meno che non si siano implementate altre misure di sicurezza per proteggere il traffico tra il gateway Internet e Tableau Server, si consiglia di configurare SSL tra il proxy del gateway e Tableau Server. È possibile utilizzare certificati interni o autofirmati per crittografare il traffico tra Tableau Server e altri computer interni.

Accesso mobile

Tableau Server aggiunge un X-header a tutte le risposte HTTP per le sessioni di Tableau Mobile. Per impostazione predefinita, la maggior parte delle soluzioni proxy manterrà le X-header. Se la soluzione gateway non mantiene le X-header, dovrai configurare il server proxy e il servizio di bilanciamento del carico per conservare l’intestazione seguente in tutte le risposte HTTP per le sessioni client mobile: X-Tableau: Tableau Server.

Se hai configurato l’autenticazione nel gateway, il tuo server proxy o il servizio di bilanciamento del carico deve rispondere alle richieste HTTP di Tableau Mobile con una risposta HTTP 302. 302 deve includere un reindirizzamento alla pagina di accesso dell’identity provider. Per visualizzare un diagramma che descrive la sequenza di autenticazione 302, consulta Tableau Mobile Authentication Sequence(Il collegamento viene aperto in una nuova finestra) nella community di Tableau.

Proxy inverso, servizio di bilanciamento del carico e autenticazione utente

Tableau Server eseguirà sempre l’autenticazione degli utenti. Ciò significa che, anche se stai autenticando connessioni in ingresso al gateway per l’organizzazione, Tableau Server eseguirà sempre l’autenticazione dell’utente.

Non tutti i client tuttavia supportano l’autenticazione utente con una soluzione gateway:

  • Per i browser Web supportati è possibile utilizzare SAML, OpenID Connect, Kerberos, Trusted Tickets o l’autenticazione manuale con un proxy inverso o un servizio di bilanciamento del carico.

  • Tableau Mobile supporta l’autenticazione SAML o manuale con un proxy inverso o un servizio di bilanciamento del carico. La versione di iOS di Tableau Mobile supporta anche Kerberos con un proxy inverso o un servizio di bilanciamento del carico. Si applica la stessa raccomandazione di cui sopra.

  • Tableau Prep non supporta l’autenticazione con un proxy inverso o un servizio di bilanciamento del carico. Per l’accesso remoto, utilizza una soluzione VPN o configura i servizi gateway per instradare il traffico da Tableau Prep direttamente a Tableau Server per l’autenticazione.

  • Tableau Desktop supporta l’autenticazione con un proxy inverso, a condizione che un modulo di autenticazione esegua la preautenticazione sul proxy inverso prima che il traffico venga instradato a Tableau Server per l’autenticazione finale. Per maggiori informazioni, consulta Parte 5 - Configurazione del livello Web(Il collegamento viene aperto in una nuova finestra) nella Guida alla distribuzione di Tableau Server per le organizzazioni di grandi dimensioni e Configurare il modulo di autenticazione con Gateway indipendente.

Se l’organizzazione esegue l’autenticazione con Active Directory:

  • È necessario configurare Tableau Server per il proxy inverso prima di configurare Tableau Server per Kerberos. Per maggiori informazioni, consulta Configurare Kerberos.

Configurare Tableau Server per l’utilizzo con un server proxy inverso e/o un servizio di bilanciamento del carico

Prima di configurare Tableau Server, è necessario raccogliere le seguenti informazioni sulla configurazione del server proxy. Per configurare Tableau Server, utilizza il comando tsm configuration set. Le informazioni da raccogliere corrispondono alle opzioni necessarie quando esegui tsm.

La maggior parte delle opzioni di tsm seguenti viene utilizzata anche per configurare distribuzioni di Tableau Server che funzionano dietro un servizio di bilanciamento del carico. Per maggiori informazioni, consulta Aggiungere un bilanciamento del carico.

VoceDescrizioneOpzione corrispondente di tsm configuration set
Indirizzo IP o CNAME

Per questa opzione è possibile immettere un indirizzo IP o un CNAME.

L’indirizzo o gli indirizzi IP del server proxy e del servizio di bilanciamento del carico. L’indirizzo IP deve essere in formato IPv4, come ad esempio 203.0.113.0, e deve essere un IP statico.

Se non sei in grado di fornire un IP statico o se utilizzi proxy cloud o bilanciatori di carico esterni, puoi specificare il valore DNS CNAME (Canonical Name, nome canonico) che i client utilizzeranno per connettersi a Tableau Server. Per comunicare con Tableau Server, questo valore CNAME deve essere configurato sulla soluzione reverse proxy.

gateway.trusted
FQDNIl nome di dominio pienamente qualificato tramite il quale gli utenti si connettono a Tableau Server, come tableau.example.com. Tableau Server non supporta il cambio di contesto per questa opzione. Ad esempio, l’URL seguente non è supportato: example.com/tableau.gateway.public.host
Non-FQDNQualsiasi nome di sottodominio per server proxy e del servizio di bilanciamento del carico. Nell’esempio di tableau.example.com, il nome del sottodominio è tableau.gateway.trusted_hosts
AliasQualsiasi nome alternativo pubblico per i server proxy o del servizio di bilanciamento del carico. Nella maggior parte dei casi, gli alias sono designati utilizzando i valori CNAME. Un esempio potrebbe essere un server proxy bigbox.example.com e le voci CNAME di ftp.example.com e www.example.com.gateway.trusted_hosts
PorteI numeri di porta per il traffico dal client al server proxy inverso.

gateway.public.port

Se utilizzi un’installazione distribuita di Tableau Server, esegui i comandi seguenti tsm nel nodo iniziale del cluster.

  1. Immetti il seguente comando per impostare l’FQDN che i client utilizzeranno per raggiungere Tableau Server attraverso il server proxy e/o del servizio di bilanciamento del carico, dove name è il nome di dominio completo:

    tsm configuration set -k gateway.public.host -v 'name'

    Ad esempio, se Tableau Server viene raggiunto immettendo https://tableau.example.com nel browser, immetti il seguente comando:

    tsm configuration set -k gateway.public.host -v 'tableau.example.com'

  2. Immetti il seguente comando per impostare l’indirizzo o il CNAME del server proxy e/o del servizio di bilanciamento del carico, dove server_address è l’indirizzo IPv4 o il valore CNAME:

    tsm configuration set -k gateway.trusted -v 'server_ip_address'

    Se la tua organizzazione utilizza più server proxy e/o del servizio di bilanciamento del carico, immetti più indirizzi IPv4, separandoli con delle virgole. Gli intervalli IP non sono supportati. Per migliorare l’avvio e il lancio di Tableau Server, riduci al minimo il numero di voci per gateway.trusted.

  3. Immetti il seguente comando per specificare nomi alternativi per il server proxy e/o del servizio di bilanciamento del carico, come i nomi di dominio completi, eventuali nomi di dominio non completi ed eventuali alias. Se ci sono più nomi, separali con una virgola.

    tsm configuration set -k gateway.trusted_hosts -v 'name1, name2, name3'

    Ad esempio:

    tsm configuration set -k gateway.trusted_hosts -v 'proxy1.example.com, proxy1, ftp.example.com, www.example.com'

  4. Se il server proxy utilizza SSL per comunicare con Internet, esegui il seguente comando, che segnala a Tableau che il server reverse proxy utilizza la porta 443 invece della porta 80:

    tsm configuration set -k gateway.public.port -v 443

    Nota: se il server proxy utilizza SSL per comunicare con Tableau Server, SSL deve essere configurato e abilitato su Tableau Server.

  5. Immetti il seguente comando per eseguire il commit della modifica di configurazione:

    tsm pending-changes apply

    Se le modifiche in sospeso richiedono il riavvio del server, il comando pending-changes apply visualizzerà un messaggio per segnalare che verrà eseguito un riavvio. Questo messaggio viene visualizzato anche se il server è stato arrestato, ma in questo caso il riavvio non viene eseguito. Puoi eliminare la richiesta usando l’opzione --ignore-prompt, ma questo non modifica il comportamento del riavvio. Se le modifiche non richiedono un riavvio, vengono applicate senza visualizzare alcun messaggio. Per maggiori informazioni, consulta tsm pending-changes apply.

Configurare il server proxy inverso o del servizio di bilanciamento del carico in modo che funzioni con Tableau Server

Quando un client accede a Tableau Server tramite un proxy inverso o un servizio di bilanciamento del carico, è necessario mantenere (o aggiungere) intestazioni di messaggi specifiche. In particolare, tutti i server nella catena di messaggi devono essere rappresentati nelle impostazioni di gateway.trusted e gateway.trusted_hosts.

Nell’immagine seguente vengono illustrate le intestazioni di esempio per una catena di messaggi a hop singolo, in cui il server proxy comunica direttamente con Tableau Server:

Nell’immagine seguente vengono illustrate le intestazioni di esempio per una catena di messaggi a hop multiplo, in cui il messaggio attraversa due server proxy prima di connettersi a Tableau Server:

Nella tabella seguente vengono descritte le intestazioni e le modalità con cui sono correlate alle impostazioni di configurazione di Tableau Server:

IntestazioniDescrizioneImpostazioni relative a Tableau Server
REMOTE_ADDR e X-FORWARDED-FOR (XFF)Tableau Server richiede queste intestazioni per determinare l’indirizzo IP di origine per le richieste. L’intestazione X-FORWARDED-FOR deve presentare la catena di indirizzi IP a Tableau Server nell’ordine in cui si sono verificate le connessioni.L’indirizzo IP impostato ingateway.trusted deve corrispondere all’IP presentato in REMOTE_ADDR. Se hai inviato indirizzi multipli in gateway.trusted, uno di questi deve corrispondere all’IP presentato in REMOTE_ADDR.
HOST e X-FORWARDED HOST (XFH)Queste intestazioni sono utilizzate per generare link assoluti a Tableau Server quando risponde al client. L’intestazione X-FORWARDED-HOST deve presentare i nomi di host a Tableau Server nell’ordine in cui si sono verificate le connessioni.I nomi host presentati nell’intestazione X-FORWARDED-HOST devono essere inclusi nei nomi host specificati in gateway.trusted_hosts.
X-FORWARDED-PROTO (XFP)Questa intestazione è necessaria se SSL è abilitato per il traffico dal client al proxy, ma non per il traffico proveniente dal proxy a Tableau Server.

Le intestazioni X-FORWARDED-PROTO sono importanti per gli scenari in cui HTTP o HTTPS non vengono mantenuti lungo ogni hop della route del messaggio. Ad esempio, se il reverse proxy necessita di SSL per le richieste esterne, ma il traffico tra il reverse proxy e Tableau Server non è configurato per utilizzare SSL, sono necessarie delle intestazioni X-FORWARDED-PROTO. Alcune soluzioni proxy aggiungono le intestazioni X-FORWARDED-PROTO automaticamente, mentre altre no. Infine, a seconda della soluzione proxy, potrebbe essere necessario configurare il port forwarding per tradurre la richiesta dalla porta 443 alla porta 80.

Articolo di KB correlato: Errore "Impossibile accedere" e "Nome utente o password non validi" con SAML dopo l’aggiornamento(Il collegamento viene aperto in una nuova finestra).

La configurazione delle porte sul proxy inverso (connessioni in ingresso dal client e connessioni in uscita a Tableau Server) deve essere specificata nel parametro corrispondente: gateway.public.port, che corrisponde alla porta utilizzata dai client per connettersi al proxy.

Se il server proxy utilizza SSL per comunicare con Tableau Server, SSL deve essere configurato e abilitato su Tableau Server.

Convalidare la configurazione del proxy inverso e del servizio di bilanciamento del carico

Per convalidare la configurazione della connessione tra gateway e Tableau Server, pubblica le cartelle di lavoro e le origini dati utilizzando il Web authoring di Tableau Server o Tableau Desktop. Se sei connesso con un browser Web a Tableau Server da Internet, verifica di utilizzare un browser consigliato(Il collegamento viene aperto in una nuova finestra). Pubblicare e visualizzare le cartelle di lavoro che utilizzano origini dati esistenti oltre a un’origine dati che hai pubblicato. Utilizza i collegamenti seguenti per acquisire familiarità con Tableau Server come utente finale.

AttivitàDocumentazione
Panoramica di Web authoring.Utilizzare Tableau sul Web(Il collegamento viene aperto in una nuova finestra)
Accedi a Tableau Server da Tableau Desktop o da un browser Web.Accedere a Tableau Server o Tableau Online(Il collegamento viene aperto in una nuova finestra)
Pubblica una cartella di lavoro su Tableau Server.Pubblicare una cartella di lavoro(Il collegamento viene aperto in una nuova finestra)
Pubblica un’origine dati.Pubblicare un’origine dati(Il collegamento viene aperto in una nuova finestra)
Apri una cartella di lavoro da Tableau Server.Aprire le cartelle di lavoro dal server(Il collegamento viene aperto in una nuova finestra)
Disconnettiti dal server (con Desktop).Accedere a Tableau Server o Tableau Online(Il collegamento viene aperto in una nuova finestra)
Scarica la cartella di lavoro da un browser Web.Scaricare le cartelle di lavoro(Il collegamento viene aperto in una nuova finestra)
Verifica che tabcmd funzioni (da un client non-server).tabcmd

Argomenti correlati

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!