Encaminhamento de portas para um URL mais limpo

Por padrão, o HTTPS considera que a porta será 443. Isso significa que https://looker.yourdomain.com seria processado automaticamente como se o usuário tivesse digitado https://looker.yourdomain.com:443. No entanto, usar a porta HTTPS padrão (443) exigiria a execução do Looker como raiz, o que não é compatível e não é recomendado.

Uma opção é solicitar que os usuários especifiquem um número de porta como parte do URL quando acessarem o Looker. Por exemplo, se você estiver usando a porta 9999, o tipo será https://looker.yourdomain.com:9999.

Para a praticidade dos seus usuários, recomendamos configurar uma porta padrão diferente para eles digitarem https://looker.yourdomain.com e ainda acessarem a porta correta. É possível configurar uma porta padrão para o Looker ou redirecionar o tráfego para uma porta diferente usando vários métodos:

É melhor encaminhar pacotes diretamente para o Looker em vez de indiretamente (por meio de um proxy da Web), porque o Looker tem a funcionalidade de interromper uma consulta do banco de dados quando detecta que o navegador cancelou uma solicitação.

iptables no host do Looker

O Looker pode ser acessado em uma porta diferente usando o iptables. O script a seguir encaminhará o tráfego da porta 443 para a 9999. Ele foi escrito para Ubuntu Linux e talvez precise ser modificado se você estiver executando uma distribuição Linux diferente.

  1. Crie o arquivo de script:

    /etc/network/if-up.d/looker-https-forward
    
  2. Adicione este conteúdo ao arquivo:

    #!/bin/sh
    # Forward HTTPS traffic to the Looker app
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 9999
    
  3. Torne-o executável:

    sudo chmod 755 /etc/network/if-up.d/looker-https-forward
    
  4. Execute o script, que será executado automaticamente na próxima reinicialização do sistema ou da rede:

    sudo /etc/network/if-up.d/looker-https-forward
    

xinetd no host do Looker

Outra técnica envolve o uso de xinetd.

  1. Verifique se o xinetd permite o tráfego de entrada de todos os endereços desejados. Na seção padrão de /etc/xinetd.conf, adicione:

    {
    only_from = 0.0.0.0
    # or replace 0.0.0.0 with an IP range
    # (i.e., 128.0.0.0/16) if desired
    }
    
  2. Crie um arquivo chamado: /etc/xinetd.d/lookerhttps

  3. Adicione este conteúdo ao arquivo:

    # default: on
    #
    # Looker default port 9999
    service https
    {
    disable = no
    id = lookerhttps
    socket_type = stream
    protocol = tcp
    user = root
    wait = no
    redirect = 127.0.0.1 9999
    }
    

Servidores proxy reversos

É possível usar proxies reversos com o Looker. O servidor de proxy reverso sugerido é o Nginx. É o único proxy reverso que testamos e suportamos totalmente, embora não seja necessariamente proibido outras opções. Você pode encontrar uma configuração de amostra do Nginx na página de documentação Configuração de amostra do Nginx.

O proxy reverso do Apache tem um bug que impede o Looker de fechar as conexões corretamente. Isso significa que todas as consultas ao banco de dados são executadas até a conclusão, mesmo que o usuário as cancele. Por isso, evite usar o proxy reverso do Apache com o Looker.

Balanceador de carga

Há muitas soluções de balanceadores de carga disponíveis. De modo geral, o balanceador de carga seria configurado para detectar na porta 443 e encaminhar todas as solicitações para o Looker na porta 9999. Nesse caso, os certificados do servidor SSL seriam instalados no balanceador de carga.

Próximas etapas

Depois de configurar o encaminhamento de portas, permita que o suporte do Looker acesse sua implantação.