Tenho uma instância do Kubernetes no GCP. Tudo parece estar correto, mas de alguma forma o force_https não está forçando um redirecionamento e o site ainda pode ser acessado via http://.
Minha solução por enquanto foi adicionar este trecho ao app.yml:
(E adoraria entender como fazer o pups indentar corretamente as linhas que inseri, mas isso é outro assunto.)
Algum tempo após essa alteração, o controlador de ingress parece ter parado de servir o site, embora ele estivesse funcionando e redirecionando corretamente por um bom tempo.
Obviamente, isso se enquadra em unsupported-install, mas se alguém tiver uma ideia de onde procurar a seguir, agradeço muito.
Você está usando um balanceador de carga HTTP ou um balanceador de carga TCP? Se for HTTP, o protocolo observado na entrada pode estar inserido em um cabeçalho não padrão que o Discourse não está procurando.
Muito obrigado, @riking! Sim, parece ser o balanceador de carga o meu problema. Acho que o ingress está OK (e agora tenho uma ideia de que há uma diferença). Mudei para a configuração que você mostrou e estou obtendo os mesmos resultados que com uma configuração um pouco mais complicada. Acredito que o próximo passo seria entender o tcpdump e ver o que há nesses cabeçalhos. . .
EDIT: Parece que deveria funcionar. Veja o que eu vejo:
@pfaffman Posso ajudar com isso — estou no GCP e já resolvi esse problema antes. Estou ocupado por algumas horas, mas se você puder me enviar sua configuração do balanceador de carga (junto com as verificações de saúde) aqui ou em particular, posso tentar identificar o problema.
Sim. Parece que está funcionando agora! Acho que estou confuso com a mágica porta 30182, mas imagino que seja algum tipo de mágica do k8s que vou entender outro dia.
Vou tentar sua seção after_web_config:. Parece um pouco mais limpa do que o que eu estava fazendo.