Discourseの設定でセキュリティ設定をforce_https後、ログイン、ログアウト、記事の作成、設定の変更などができなくなったためDocker内で設定変更。
root@ubuntu-hp:/var/discourse# ./launcher enter app
root@ubuntu-hp-app:/var/www/discourse# rails c
[1] pry(main)> SiteSetting.enable_local_logins = true
=> true
[2] pry(main)> SiteSetting.force_https = false
=> false
[3] pry(main)> exit
root@ubuntu-hp-app:/var/www/discourse#
セキュリティポリシーの設定変更
コンテナ内でrailsコマンド実行
$ docker exec -ti app bash
# rails c
[1] pry(main)> SiteSetting.content_security_policy = false
=> false
[2] pry(main)> exit
セキュリティポリシーを指定
HTTPリクエストをブロックしてHTTPSに強制
NginxでCSPを指定
server {
# ...
add_header Content-Security-Policy "upgrade-insecure-requests;" always;
# ...
}
管理画面でCSPを有効にし、Content security policy report onlyのチェックを外します。