Encaminhamento de porta para um URL mais limpo

Por predefinição, o HTTPS assume que a porta é 443. Isto significa que https://looker.yourdomain.com seria processado automaticamente como se o utilizador tivesse escrito https://looker.yourdomain.com:443. No entanto, a utilização da porta HTTPS padrão (443) exigiria a execução do Looker como raiz, o que não é suportado nem recomendado.

Uma opção é os utilizadores especificarem um número de porta como parte do URL quando acedem ao Looker. Por exemplo, se estiver a usar a porta 9999, o utilizador escreve: https://looker.yourdomain.com:9999.

Em instâncias alojadas pelo cliente, para a conveniência dos seus utilizadores, recomendamos que configure uma porta predefinida diferente para que possam escrever https://looker.yourdomain.com e acederem à porta correta. Pode configurar uma porta predefinida para o Looker ou redirecionar o tráfego para uma porta diferente através de vários métodos:

Tenha em atenção que é melhor encaminhar pacotes diretamente para o Looker, em vez de indiretamente (através de um proxy Web), porque o Looker tem funcionalidade para parar uma consulta de base de dados quando deteta que o navegador cancelou um pedido.

iptables no anfitrião do Looker

Pode aceder ao Looker a partir de uma porta diferente através do iptables. O script seguinte encaminha o tráfego da porta 443 para a porta 9999. Foi escrito para o Ubuntu Linux e pode ter de ser modificado se estiver a executar uma distribuição Linux diferente.

  1. Crie o ficheiro de script:

    /etc/network/if-up.d/looker-https-forward
    
  2. Adicione estes conteúdos ao ficheiro:

    #!/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 é executado automaticamente no próximo reinício do sistema ou da rede:

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

xinetd no anfitrião do Looker

Outra técnica envolve a utilização do xinetd.

  1. Certifique-se de que o xinetd permite o tráfego recebido de todos os endereços pretendidos. Na secção predefinida 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 ficheiro com o nome: /etc/xinetd.d/lookerhttps

  3. Adicione estes conteúdos ao ficheiro:

    # 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 reverse

É possível usar proxies inversos com o Looker. O servidor proxy inverso sugerido é o Nginx. É o único proxy inverso que testamos e suportamos totalmente, embora não proibamos necessariamente outras opções. Pode encontrar uma configuração de exemplo do Nginx na página de documentação Configuração de exemplo do Nginx.

Tenha em atenção que o proxy inverso do Apache tem um erro que impede o Looker de fechar corretamente as ligações. Isto significa que todas as consultas da base de dados são executadas até à conclusão, mesmo que um utilizador as cancele. Por este motivo, deve evitar usar o proxy inverso do Apache com o Looker.

Balanceador de carga

Existem muitas soluções de balanceadores de carga disponíveis. A um nível elevado, o equilibrador de carga seria configurado para ouvir na porta 443 e encaminhar todos os pedidos para o Looker na porta 9999. Neste caso, os seus certificados do servidor SSL seriam instalados no equilibrador de carga.

Passos seguintes

Depois de configurar o encaminhamento de portas, pode permitir que o apoio técnico do Looker aceda à sua implementação.