Obrigado pela sua resposta. Certamente fui pouco claro na minha mensagem. Na verdade, consigo alterar o force_https usando o comando do Rails sem problemas. Então, para ser mais claro:
Até a última atualização que realizei há alguns dias, que exigiu a reconstrução do contêiner Docker, eu tinha uma solução totalmente funcional com o force_https definido como true e com o seguinte patch que precisei aplicar na seção server do arquivo de configuração do nginx para obter um login válido:
if ($http_x_forwarded_proto = 'http'){
return 301 https://$host$request_uri;
}
E funcionava. No entanto, desde a atualização, o mesmo patch não me permitiu fazer login novamente, apresentando o conhecido “Unknown error”.
Obtive o seguinte rastreamento do log de produção:
Started POST "/session" for 193.134.222.4 at 2020-05-14 19:24:40 +0000
Processing by SessionController#create as */*
Parameters: {"login"=>"rossierd", "password"=>"[FILTERED]", "second_factor_method"=>"1", "timezone"=>"Europe/Zurich"}
Can't verify CSRF token authenticity.
Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Filter chain halted as :verify_authenticity_token rendered or redirected
Completed 403 Forbidden in 2ms (Views: 0.7ms | ActiveRecord: 0.0ms | Allocations: 1101)
Considerando que temos nosso contêiner Discourse rodando em uma máquina virtual acessível via HTTPS.
Você tem alguma ideia sobre a causa dessa mudança de comportamento antes e depois da atualização?
Até agora, desativei o force_https para false; tudo funciona bem, exceto o logotipo no canto superior esquerdo (logotipo da marca), que não aparece corretamente, pois é referenciado por meio de uma solicitação http://…
Aliás, aqui está a URL do nosso site: https://discourse.heig-vd.ch