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:
- Use a opção de inicialização
--port=<i>
do Looker para especificar a porta desejada, como--port=9999
. Essa opção é discutida na página de documentação Opções de inicialização do Looker. - Crie um script que usa
iptables
. - Use
xinetd
. - Use um servidor proxy reverso Nginx.
- Use um balanceador de carga.
É 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.
Crie o arquivo de script:
/etc/network/if-up.d/looker-https-forward
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
Torne o arquivo executável:
sudo chmod 755 /etc/network/if-up.d/looker-https-forward
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.
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 }
Crie um arquivo chamado
/etc/xinetd.d/lookerhttps
.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.