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 para os usuários especificarem um número de porta como parte do URL ao acessarem o Looker. Por exemplo, se você estiver usando a porta 9999, digite https://looker.yourdomain.com:9999.

Em instâncias hospedadas pelo cliente, para a recomendamos configurar uma porta padrão diferente para que eles possam digitar https://looker.yourdomain.com e ainda acessar a porta correta. Há vários métodos para configurar uma porta padrão para o Looker ou redirecionar o tráfego para outra porta:

É melhor encaminhar os pacotes diretamente para o Looker, em vez de indiretamente (por um proxy da Web), porque o Looker tem a funcionalidade de interromper uma consulta de 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 usando iptables. O script a seguir encaminha 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 arquivo 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 do 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 reversos

É possível usar proxies reversos com o Looker. O servidor proxy reverso sugerido é o Nginx. Ele é o único proxy reverso que testamos e oferecemos suporte total, embora não proíbemos 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 do Apache tem um bug que impede o Looker de fechar as conexões corretamente. Isso significa que cada consulta do banco de dados será concluída, mesmo que um usuário a cancele. 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 forma 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

Após configurar o encaminhamento de portas, estará tudo pronto para permitir que o suporte do Looker acesse sua implantação.