Olá @Falco,
Tenho certeza de que configurei exatamente como seu guia, mas estou notando algo estranho.
Na configuração do contêiner, não estou carregando os modelos SSL e tenho a variável de ambiente DISCOURSE_FORCE_HTTPS definida como true. Não tenho certeza do que isso faz, mas imagino que defina SiteSetting.force_https como true e, em seguida, a oculte no painel de administração para evitar que seja desativada.
Minha configuração do túnel CF é assim:
ingress:
- hostname: dc.example.com
service: http://dc:80 # dc é o nome do meu contêiner de aplicativo independente do discourse
O problema é que posso acessar http://dc.example.com e ele não é redirecionado para https. Esse é o comportamento esperado?
Você consegue reproduzir isso? Imagino que seja um bug.
Minhas configurações relevantes do CF são:
- SSL/TLS > Visão geral > Modo de criptografia SSL/TLS: completo (não completo (estrito))
- SSL/TLS > Certificados de Borda > Usar Sempre HTTPS: desativado
Eu sei que posso fazer o CF redirecionar (seja com Usar Sempre HTTPS ou uma regra de redirecionamento em massa), mas eu teria assumido que o discourse lidaria com isso e redirecionaria todos os URIs internos se force_https estivesse ativado. O que você acha?
Ignorando o problema de redirecionamento, navegar em https://dc.example.com funciona bem, independentemente do valor de DISCOURSE_FORCE_HTTPS ou SiteSetting.force_https.
edite: apesar de não entender o que force_https está realmente fazendo para nós (talvez não faça nada se os modelos SSL não estiverem incluídos?), ocorreu-me que a configuração do túnel provavelmente não funcionaria como está se o discourse realmente redirecionasse tudo para https. Se fizesse isso, o argotunnel não conseguiria acessar o discourse com http (como service: http://dc:80), então talvez eu devesse:
- confiar no cf para fazer meus redirecionamentos OU
- fazer o discourse usar um certificado e fazer o cloudflared acessar a origem do discourse com https (
service: https://dc:443)
De qualquer forma, talvez seu guia de argotunnel pudesse ser atualizado para levar isso em consideração?