設定にconfig.force_ssl
はが含まれActionDispatch::SSL
ます。ActionDispatch::SSL
(強調は、明確にするために追加された)次のようにドキュメントの機能について説明します。
含みを参照してくださいこことActionDispatch :: SSLのためのドキュメントここに。
ドキュメント
このミドルウェアは、のときconfig.force_ssl = true
にスタックに追加され、で設定されたオプションが渡されconfig.ssl_options
ます。安全なHTTPリクエストを実施するために3つのジョブを実行します。
TLSリダイレクト:
同じURLホスト、パスなどを使用してhttp://リクエストをhttps://に永続的にリダイレクトします。デフォルトで有効になっています。config.ssl_options
宛先URL(例redirect: { host: "secure.widgets.com", port: 8080 }
)を変更するように設定するか、redirect: false
この機能を無効にするように設定
します。
安全なCookie: secure
Cookieにフラグを設定して、http://リクエストと一緒に送信してはならないことをブラウザに通知します。デフォルトで有効になっています。この機能を無効にするにはconfig.ssl_options
、secure_cookies: false
を設定
します。
HTTP Strict Transport Security(HSTS):このサイトをTLSのみとして記憶し、TLS以外の要求を自動的にリダイレクトするようにブラウザーに指示します。デフォルトで有効になっています。で構成config.ssl_options
しhsts: false
て無効にします。で設定config.ssl_options
しhsts: { … }
てHSTSを構成します。
expires
:これらの設定が保持される時間(秒単位)。デフォルトは
180.days
(推奨)です。ブラウザのプリロードリストの資格を得るために必要な最小値は18.weeks
です。
subdomains
:true
これらの設定をすべてのサブドメインに適用するようにブラウザに指示するには、に設定します。これにより、サブドメイン上の脆弱なサイトによるCookieの傍受からCookieが保護されます。デフォルトはtrue
。
preload
:このサイトがブラウザのプリロードされたHSTSリストに含まれている可能性があることを宣伝します。HSTSは、HSTSヘッダーをまだ表示していないため、最初の訪問を除くすべての訪問でサイトを保護します。このギャップを埋めるために、ブラウザーベンダーは、HSTS対応サイトの組み込みリストを含めています。行くhttps://hstspreload.appspot.com含めるためにサイトを提出します。HSTSをオフにするには、ヘッダーを省略するだけでは不十分です。ブラウザは、有効期限が切れるまで元のHSTSディレクティブを記憶します。代わりに、ヘッダーを使用して、HSTSをすぐに期限切れにするようにブラウザーに指示します。設定hsts: false
はのショートカットですhsts: { expires: 0 }
。
リクエストは次の方法でリダイレクトをオプトアウトできますexclude
:
config.ssl_options = { redirect: { exclude: -> request { request.path =~ /healthcheck/ } } }