Nginx, en tant que serveur Web hautes performances et serveur proxy inverse, est largement utilisé pour le déploiement d'applications et l'équilibrage de charge. Avec l’amélioration progressive de la sensibilisation à la sécurité et à la protection de l’environnement, HTTPS est également devenu un élément indispensable des applications Web modernes. Cet article se concentrera sur le déploiement HTTPS de Nginx et l’optimisation des performances de sécurité.
1. Déploiement HTTPS de Nginx
Vous devez d'abord vous rendre auprès de l'autorité de certification (CA) pour demander un certificat SSL. Une fois l'application réussie, vous obtiendrez un fichier de certificat (.crt) et un fichier de clé privée (.key).
La configuration HTTPS de Nginx doit impliquer trois aspects : le transfert HTTP vers HTTPS, la configuration du certificat Nginx et la configuration HTTPS.
(1) Transférer HTTP vers HTTPS
Dans le fichier de configuration Nginx, vous devez ajouter une section de configuration HTTP afin que lorsque les utilisateurs accèdent au port HTTP par défaut 80, ils puissent automatiquement accéder au port par défaut 443 de HTTPS.
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; }
(2) Configuration du certificat Nginx
Dans le fichier de configuration Nginx, vous devez ajouter le certificat SSL et le fichier de clé privée que vous venez de demander au fichier de configuration.
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/cert.key; ... }
(3) Configuration HTTPS
Vous devez configurer des options spécifiques du protocole HTTPS, telles que l'activation du protocole HTTP/2, la désactivation de SSLv3, etc.
http2_push_preload on; #启用HTTP/2协议的推送预加载 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定启用的TLS协议版本 ssl_ciphers EECDH+AESGCM:EDH+AESGCM:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; #指定加密套件 ssl_prefer_server_ciphers on; #常用加密套件优先顺序为服务端指定的值 ssl_session_cache shared:SSL:10m; #指定SSL session缓存 ssl_session_timeout 10m; #指定SSL session超时时间
2. Optimisation des performances de sécurité de Nginx
Après le déploiement du service HTTPS, vous devez également faire attention aux problèmes d'optimisation des performances de sécurité suivants pour garantir la stabilité et la sécurité du service :
OCSP (Online Certificate Status Protocol) est utilisé pour détecter si un certificat a été révoqué. Dans la configuration HTTPS de Nginx, la détection de la réponse OCSP peut être effectuée via les procédures suivantes :
ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/fullchain.pem; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s;
Les points clés sont interprétés comme suit :
HSTS (HTTP Strict Transport Security) empêche les utilisateurs d'être piratés vers des pages HTTP, augmentant ainsi le niveau de sécurité. Dans la configuration HTTPS de Nginx, vous pouvez activer HSTS comme suit :
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Les points clés sont expliqués comme suit :
Par défaut, Nginx active uniquement TLSv1 et TLSv1.2. Si vous devez activer d'autres protocoles de cryptage, vous pouvez le configurer de la manière suivante :
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
Les points clés sont interprétés comme suit :
Les données transmises via HTTPS nécessitent une clé pour crypter les données. L'utilisation de HMAC (code d'authentification de message basé sur le hachage) peut améliorer la sécurité de la transmission des données. La méthode pour activer HMAC dans le fichier de configuration Nginx est la suivante :
ssl_ciphers ... !aNULL !eNULL !EXPORT !CAMELLIA !DES !MD5 !PSK !RC4 !SEED +AES256 !kEDH +SHA256 +HMAC;
Les points clés sont interprétés comme suit :
Conclusion
Cet article présente les principaux points de connaissance du déploiement HTTPS de Nginx et de l'optimisation des performances de sécurité. Dans le contexte des applications web modernes de plus en plus complexes, les exigences de sécurité et de performances du HTTPS sont également de plus en plus élevées. En tant que gestionnaire système, il est important de mettre constamment à jour vos réserves de connaissances et de maintenir une vision professionnelle des nouvelles technologies et des nouveaux environnements. . Très nécessaire et important.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!