Réglage de config.force_ssl
comprend ActionDispatch::SSL
. En ActionDispatch::SSL
Les documents décrivent la fonctionnalité comme suit (les caractères gras sont ajoutés pour plus de clarté) :
Voir les inclusions aquí et les documents relatifs à ActionDispatch::SSL aquí .
DOCS
Cet intergiciel est ajouté à la pile lorsque config.force_ssl = true
et on lui transmet les options définies dans config.ssl_options
. Il effectue trois tâches pour renforcer la sécurité des requêtes HTTP :
-
Redirection TLS : Redirige de façon permanente les demandes de http:// vers https://. avec le même hôte URL, le même chemin, etc. Activé par défaut. Définir config.ssl_options
pour modifier l'URL de destination de destination (par exemple redirect: { host: "secure.widgets.com", port: 8080 }
), ou définir redirect: false
pour désactiver cette fonction.
-
Cookies sécurisés : Définit le secure
drapeau sur les cookies pour dire aux navigateurs qu'ils ne doivent pas être envoyés avec les requêtes http://. Activé par défaut. Définir config.ssl_options
con secure_cookies: false
pour désactiver cette fonction.
-
HTTP Strict Transport Security (HSTS) : Indique au navigateur de se souvenir ce site comme étant exclusivement TLS et de rediriger automatiquement les requêtes non TLS. . Activé par défaut. Configurer config.ssl_options
con hsts: false
à désactiver. Définir config.ssl_options
con hsts: { … }
pour configurer le HSTS :
-
expires
: Durée, en secondes, pendant laquelle ces paramètres seront conservés. La valeur par défaut est 180.days
(recommandé). Le minimum requis pour figurer dans les des listes de préchargement est 18.weeks
.
-
subdomains
: Régler sur true
pour indiquer au navigateur d'appliquer ces paramètres à tous les sous-domaines. Cela protège vos cookies de l'interception par un site vulnérable sur un sous-domaine. Valeur par défaut true
.
-
preload
: Annoncez que ce site peut être inclus dans les navigateurs dans les listes HSTS préchargées des navigateurs. HSTS protège votre site à chaque visite sauf le première visite puisqu'il n'a pas encore vu votre en-tête HSTS. Pour combler cette cette lacune, les fournisseurs de navigateurs intègrent une liste de sites compatibles avec le HSTS. Allez sur https://hstspreload.appspot.com pour soumettre votre site pour inclusion. Pour désactiver le HSTS, il ne suffit pas d'omettre l'en-tête. Les navigateurs se souviendront de la directive HSTS originale jusqu'à son expiration. Utilisez plutôt l'en-tête pour indiquer aux navigateurs d'expirer HSTS immédiatement. Configuration de hsts: false
est un raccourci pour hsts: { expires: 0 }
.
Les demandes peuvent être retirées de la redirection avec exclude
:
config.ssl_options = { redirect: { exclude: -> request { request.path =~ /healthcheck/ } } }