Encaminhamento de portas para um URL mais limpo

Por padrão, o HTTPS presume 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) exige a execução do Looker como raiz, o que não é compatível e não é recomendado.

Uma opção é pedir que os usuários especifiquem um número de porta como parte do URL ao acessar o Looker. Por exemplo, se você estiver usando a porta 9999, os códigos digitariam: https://looker.yourdomain.com:9999.

Em instâncias hospedadas pelo cliente, para a conveniência dos seus usuários, recomendamos configurar uma porta padrão diferente para que eles possam digitar https://looker.yourdomain.com e ainda acessar 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 um proxy da Web), porque o Looker tem a funcionalidade de interromper uma consulta ao banco de dados quando detecta que o navegador cancelou uma solicitação.

iptables no host do Looker

O Looker pode ser acessado de uma porta diferente com o iptables. O script a seguir encaminha o tráfego da porta 443 para a 9999. Ele foi escrito para o 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 o seguinte 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 o seguinte conteúdo ao arquivo:

    # default: on
    # description: Redirect HTTPS/443 requests to
    # 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 reverso

É possível usar proxies reversos com o Looker. O servidor proxy reverso que sugerimos é o Nginx. É o único proxy reverso que testamos e totalmente compatível, embora não proíbamos necessariamente outras opções. Você pode encontrar um exemplo de configuração do Nginx na página de documentação Exemplo de configuração do Nginx.

O proxy reverso Apache tem um bug que impede que o Looker feche as conexões corretamente. Isso significa que todas as consultas do banco de dados serão executadas até a conclusão, mesmo se um usuário cancelá-la. Por esse motivo, 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 são instalados no balanceador de carga.

Próximas etapas

Depois de configurar o encaminhamento de portas, você poderá permitir que o Suporte do Looker acesse sua implantação.