コンテンツセキュリティポリシーを緩和する方法

こんにちは!私は定期的にこれを Docker インストールで行っています。本番環境で標準の Docker インストールを使用していると仮定すると、受け入れテストでも同じものを使用するはずです。開発と Docker のインストールの間には、デプロイ時に問題となる可能性のある(設定、gem および JS パッケージのバージョンなど)多くの違いがあります。

Docker インストールはデフォルトで HTTPS を使用し、強制します。コンテナテンプレートをカスタマイズしない限り(これはいくつかの隠された複雑さがあることがわかりました)、別のサイト設定で HTTPS 強制を無効にすることができます。

これは、「ローカル Docker インストールでセキュリティを緩和する」ための私のスニペットであり、本番環境に移行する前に簡単に元に戻すことができます。

SiteSetting.content_security_policy = false
SiteSetting.force_https = false

その後は、ブラウザが http://uat.mysite.com で Docker コンテナのポート 80 を見つけられるかどうかの問題です。https の代わりに http を使用することに注意してください。

そのためには、@pfaffman の /etc/hosts のトリックが最適です。各 OS の詳細はこちらにあります。