Une fois que la vulnérabilité du caniche a été révélée récemment, notre équipe a décidé de passer de SSLV3. Mais avant la suppression complète, ils veulent avertir les utilisateurs quotidiens que leur navigateur utilise SSLV3 obsolète. Donc, nous avons monté l'idée de
Ensuite, notre code de backend traitera cet en-tête et donnera un avertissement Si le client utilise SSLV3.
Je suis conscient que nginx a la fonctionnalité proxy_set_header
. Donc celui-ci serait simple comme
proxy_set_header X-HTTPS-Protocol $something;
Maintenant, le problème est: évidemment nginx connaissez le protocole utilisé par le client, mais comment puis-je transmettre cette information à la backend via HTTP Header?
Merci
Comme indiqué par un thread similaire Apache Redirect User s'ils utilisent SSLV , cette idée peut devenir très très mauvaise idée.
La motif de main TLS se produit avant que le trafic HTTP soit envoyé via le tunnel TLS. Au moment où notre backend détecte le protocole SSL, le client peut avoir envoyé des données privées dans sa première demande. Pour une solution permanente et à long terme, nous devrions envisager de désactiver SSLV3.
NGinx utilise de nombreuses variables pouvant être utilisées dans la configuration. Cette page fournit la liste complète des variables. La variable qui détient le protocole dans une demande HTTPS est ssl_protocol
. Citation:
$ssl_protocol
renvoie le protocole d'une connexion SSL établie;
Donc votre proxy_set_header
la configuration serait
proxy_set_header X-HTTPS-Protocol $ssl_protocol;
Une autre référence: ici