Gracias por tu respuesta. Ciertamente no fui claro en mi mensaje. De hecho, logro cambiar force_https usando el comando de Rails, sin problema. Así que, para ser más claro:
Hasta la última actualización que realicé hace un par de días y que requirió reconstruir el contenedor de Docker, tenía una solución completamente funcional con force_https en true y con el siguiente parche que debía aplicar en la sección server del archivo de configuración de nginx para obtener un inicio de sesión válido:
if ($http_x_forwarded_proto = 'http'){
return 301 https://$host$request_uri;
}
Y funcionaba. Sin embargo, desde la actualización, el mismo parche ya no me permite iniciar sesión, obteniendo el conocido “Unknown error”.
Obtuve el siguiente rastreo del registro de producción:
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)
Cabe mencionar que nuestro contenedor de Discourse se ejecuta en una máquina virtual accesible a través de HTTPS.
¿Tienes alguna idea sobre la causa de este cambio de comportamiento antes y después de la actualización?
Hasta ahora, he desactivado force_https estableciéndolo en false; todo funciona bien, excepto el logotipo en la esquina superior izquierda (logotipo de la marca), que no aparece correctamente ya que se referencia mediante una solicitud http://…
Por cierto, aquí está la URL de nuestro sitio: https://discourse.heig-vd.ch