Comment nginx configure HSTS
Netcraft a récemment publié ses recherches sur les tests de sites Web SSL/TLS et a noté que seulement 5 % des utilisateurs ont correctement implémenté HTTP Strict Transport Security HSTS.
Qu'est-ce que HSTS
HTTPS (SSL et TLS) garantit la sécurité des communications entre les utilisateurs et les sites Web, ce qui rend difficile l'interception, la modification et l'usurpation d'identité des attaquants. Lorsque l'utilisateur saisit manuellement un nom de domaine ou un lien http://, la première requête vers le site Web n'est pas cryptée, en utilisant du http simple. Les sites Web les plus sécurisés renvoient immédiatement une redirection dirigeant l'utilisateur vers une connexion https. Cependant, un attaquant de type man-in-the-middle peut être en mesure d'intercepter la requête http initiale et ainsi contrôler les réponses ultérieures de l'utilisateur.
Naturellement, HSTS a été créé pour résoudre ce problème de sécurité potentiel. Même si l'utilisateur saisit un nom de domaine ou une connexion http, le navigateur passera strictement à une connexion https.
Comment fonctionne HSTS
Les politiques HSTS sont émises dans les en-têtes de réponse HTTP envoyés depuis les sites HTTPS sécurisés.
Strict-Transport-Security: max-age=31536000
Lorsque le navigateur voit cet en-tête provenant d'un site HTTPS, il sait que le nom de domaine n'est accessible que via HTTPS (SSL ou TLS). Et mettez en cache ces informations dans 31536000, soit 1 an.
Le paramètre facultatif includeSubDomains indique au navigateur que la stratégie s'applique à tous les sous-domaines du domaine actuel.
Strict-Transport-Security: max-age=31536000; includeSubDomains
nginx configure HSTS
Définissez les en-têtes de réponse HSTS sur le fichier de configuration nginx. Le paramètre
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
always garantit que toutes les réponses ont cet en-tête défini, y compris les réponses d'erreur générées en interne. Les versions de nginx antérieures à 1.7.5 ne prennent pas en charge le paramètre Always et les réponses d'erreur générées en interne ne définissent pas ces informations d'en-tête.
Règles d'héritage de la directive add_header :
Le bloc de configuration nginx hérite du bloc d'encapsulation où se trouve la directive add_header, il vous suffit donc de placer la directive add_header dans le bloc serveur de niveau supérieur. Il existe également une exception importante : si un bloc contient la directive add_header lui-même, il n'héritera pas de l'en-tête du bloc englobant et vous devrez redéfinir toutes les directives add_header.
server { listen 443 ssl; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; # This 'location' block inherits the STS header location / { root /usr/share/nginx/html; } # Because this 'location' block contains another 'add_header' directive, # we must redeclare the STS header location /servlet { add_header X-Served-By "My Servlet Handler"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; proxy_pass http://localhost:8080; } }
Test de la sécurité du transport HTTP Strict :
Une fois qu'un utilisateur propose une politique HSTS, sa période d'informations de cache est spécifiée par max-age. Pendant ce temps, le navigateur refusera l'accès au service Web via HTTP non crypté et refusera d'accorder des exceptions pour les erreurs de certificat (si le site Web a déjà soumis un certificat valide et fiable). Si un paramètre includeSubDomanis est spécifié, ces restrictions s'appliquent également à tous les sous-domaines du domaine actuel.
Lorsque vous testez HSTS, réduisez la durée d'âge maximum.
Si chaque réponse HTTPS doit avoir un en-tête STS :
Notre objectif est de restituer la politique HSTS le plus rapidement possible lorsque l'utilisateur démarre une réponse HTTPS. S'ils reçoivent des politiques HSTS pendant la session, ils sont toujours vulnérables aux attaques de piratage HTTP. Le navigateur ne doit examiner l'en-tête STS qu'une seule fois, il n'est donc pas strictement nécessaire de l'ajouter à chaque bloc d'emplacement et à chaque réponse. Cependant, le simple fait de l'ajouter à la page d'accueil ou à la page de connexion peut ne pas suffire. Si vous l'ajoutez uniquement à la réponse mise en cache, le client risque de ne pas la voir. Assurez-vous de couvrir autant de parties de votre URL que cela est raisonnable, en accordant une attention particulière au contenu dynamique.
HTTP et HTTPS en parallèle
Parfois, un site Web doit fonctionner à la fois sous HTTP et HTTPS
server { listen 80; listen 443 ssl; ... }
Parfois, les requêtes http doivent être redirigées vers https
server { listen 80 default_server; listen [::]:80 default_server; server_name _; # Discourage deep links by using a permanent redirect to home page of HTTPS site return 301 https://$host; # Alternatively, redirect all HTTP links to the matching HTTPS page # return 301 https://$host$request_uri; } server { listen 443 ssl; server_name www.ttlsa.com; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; }
Améliorer HSTS
Protéger les clients de l'interception HTTP, à partir de Il voit l'en-tête STS jusqu'à l'âge maximum déclaré. Cependant, HSTS n'est pas une solution parfaite pour le détournement de session HTTP. Les utilisateurs sont toujours vulnérables s'ils accèdent à un site Web protégé par HSTS via HTTP :
N'ont jamais visité le site Web auparavant
Ils ont récemment réinstallé leur système d'exploitation
Ils ont récemment réinstallé leur navigateur
Passer à un nouveau navigateur
Passer à un nouvel appareil tel qu'un téléphone mobile
Supprimer le cache du navigateur
Je n'ai pas visité le site récemment et l'âge maximum a expiré
Afin de résoudre ce problème, Google insiste pour conserver un nom de domaine et un nom de sous-domaine de site « liste de préchargement HSTS », et soumet son nom de domaine via https://hstspreload.appspot.com/. Cette liste de noms de domaine est distribuée et codée en dur dans les principaux navigateurs Web. Les clients accédant aux noms de domaine de cette liste utiliseront activement HTTPS et refuseront l'accès au site en utilisant HTTP.
Une fois l'en-tête STS défini ou votre domaine soumis à la liste de préchargement HSTS, il est impossible de le supprimer. Il s'agit d'une décision à sens unique pour rendre votre nom de domaine disponible via HTTPS.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le code PHP peut être exécuté de plusieurs manières: 1. Utilisez la ligne de commande pour entrer directement le "nom de fichier PHP" pour exécuter le script; 2. Mettez le fichier dans le répertoire racine du document et accédez-y via le navigateur via le serveur Web; 3. Exécutez-le dans l'IDE et utilisez l'outil de débogage intégré; 4. Utilisez le bac à sable PHP en ligne ou la plate-forme d'exécution de code pour les tests.

La compréhension du chemin du fichier de configuration de Nginx et des paramètres initiaux est très importante car il s'agit de la première étape dans l'optimisation et la gestion d'un serveur Web. 1) Le chemin du fichier de configuration est généralement /etc/nginx/nginx.conf. La syntaxe peut être trouvée et testée à l'aide de la commande nginx-t. 2) Les paramètres initiaux incluent les paramètres globaux (tels que l'utilisateur, worker_processs) et les paramètres HTTP (tels que l'inclusion, log_format). Ces paramètres permettent la personnalisation et l'extension en fonction des exigences. Une configuration incorrecte peut entraîner des problèmes de performances et des vulnérabilités de sécurité.

Linux System restreint les ressources utilisateur via la commande UliMIT pour éviter une utilisation excessive des ressources. 1.Ulimit est une commande shell intégrée qui peut limiter le nombre de descripteurs de fichiers (-n), la taille de la mémoire (-v), le nombre de threads (-u), etc., qui sont divisés en limite douce (valeur effective actuelle) et limite dure (limite supérieure maximale). 2. Utilisez directement la commande ulimit pour une modification temporaire, telle que Ulimit-N2048, mais elle n'est valable que pour la session en cours. 3. Pour un effet permanent, vous devez modifier /etc/security/limits.conf et les fichiers de configuration PAM, et ajouter SessionRequiredPam_limits.so. 4. Le service SystemD doit définir Lim dans le fichier unitaire

Lors de la configuration de Nginx sur Debian System, les éléments suivants sont quelques conseils pratiques: la structure de base des paramètres globaux du fichier de configuration: définir les paramètres comportementaux qui affectent l'intégralité du service NGINX, tel que le nombre de threads de travail et les autorisations d'utilisateurs en cours d'exécution. Pièce de gestion des événements: Décider comment Nginx s'occupe des connexions réseau est une configuration clé pour améliorer les performances. Pièce de service HTTP: contient un grand nombre de paramètres liés au service HTTP et peut intégrer plusieurs serveurs et blocs de localisation. Options de configuration de base Worker_Connections: Définissez le nombre maximal de connexions que chaque thread de travailleur peut gérer, généralement définie sur 1024. Multi_accept: activez le mode de réception multi-connexion et améliorez la capacité de traitement simultané. s

Nginxservceswebcontentandactsasareverseproxy, loadBalancer et m /r.1) itefficientlyServisetaticContent likehtmlandimages.2) itfunctionsasareverseproxyandloadBalancer, distribution.

Les étapes de démarrage de la configuration NGINX sont les suivantes: 1. Créez un fichier de service Systemd: Sutonano / etc / Systemd / System / nginx.service et ajouter des configurations pertinentes. 2. Recharger la configuration SystemD: SudosystemctlDaemon-RELOAD. 3. Activer Nginx pour démarrer automatiquement: SudosystemctLenablenginx. Grâce à ces étapes, Nginx s'exécutera automatiquement au démarrage du système, garantissant la fiabilité et l'expérience utilisateur du site Web ou de l'application.

Le diagnostic et les solutions pour les erreurs courantes de Nginx incluent: 1. Afficher les fichiers journaux, 2. Ajuster les fichiers de configuration, 3. Optimiser les performances. En analysant les journaux, en ajustant les paramètres de délai d'expiration et en optimisant le cache et l'équilibrage de la charge, des erreurs telles que 404, 502, 504 peuvent être efficacement résolues pour améliorer la stabilité et les performances du site Web.

Les compétences d'optimisation du référencement de Debianapache2 couvrent plusieurs niveaux. Voici quelques méthodes clés: Recherche de mots clés: Utilisez des outils (tels que les outils de magie de mots clés) pour exploiter les mots clés du noyau et de la page. Création de contenu de haute qualité: produire un contenu précieux et original, et le contenu doit être effectué des recherches approfondies pour assurer un langage et un format clair. Disposition du contenu et optimisation de la structure: utilisez des titres et des sous-titres pour guider la lecture. Écrivez des paragraphes et des phrases concises et claires. Utilisez la liste pour afficher les informations clés. Combiner multimédia tels que des images et des vidéos pour améliorer l'expression. La conception vierge améliore la lisibilité du texte. Niveau technique Amélioration du référencement: Robots.txt Fichier: Spécifie les droits d'accès des robots des moteurs de recherche. Accélérer le chargement de la page Web: optimisé à l'aide du mécanisme de mise en cache et de la configuration Apache
