Merci pour votre réponse. Mon message était certainement peu clair. En fait, je parviens à modifier force_https en utilisant la commande Rails, sans problème. Donc, pour être plus précis :
Jusqu’à la dernière mise à niveau que j’ai effectuée il y a quelques jours et qui nécessitait de reconstruire le conteneur Docker, j’avais une solution entièrement fonctionnelle avec force_https activé (true) et en appliquant le correctif suivant dans la section server du fichier de configuration d’Nginx afin d’obtenir une connexion valide :
if ($http_x_forwarded_proto = 'http'){
return 301 https://$host$request_uri;
}
Cela fonctionnait. Cependant, depuis la mise à niveau, le même correctif ne me permet plus de me connecter, affichant l’erreur bien connue « Unknown error ».
J’ai obtenu la trace suivante depuis le journal de production :
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)
Sachez que notre conteneur Discourse s’exécute dans une machine virtuelle accessible via HTTPS.
Auriez-vous une idée de la cause de ce changement de comportement avant et après la mise à niveau ?
Pour l’instant, j’ai désactivé force_https en le passant à false. Tout fonctionne bien, sauf le logo en haut à gauche (logo de la marque) qui n’apparaît pas correctement car il est référencé via une requête http://…
Au passage, voici l’URL de notre site : https://discourse.heig-vd.ch