recherche

Maison  >  Questions et réponses  >  le corps du texte

nginx - https est configuré et hsts est activé Comment puis-je forcer https pour la première visite ?

https est configuré, mais chaque première visite utilise http. C'est-à-dire que si un utilisateur n'a jamais visité notre site Web via HTTPS, il n'y aura évidemment aucune chance d'obtenir l'en-tête de réponse HSTS, il est donc toujours possible d'y accéder pour la première fois via HTTP.

我想大声告诉你我想大声告诉你2758 Il y a quelques jours905

répondre à tous(5)je répondrai

  • 習慣沉默

    習慣沉默2017-05-16 17:22:26

    Google est toujours en avance en termes de sécurité du navigateur, c'est pourquoi il maintient une liste de préchargement (veuillez d'abord surfer sur Internet de manière scientifique) que Chrome peut utiliser, et cette liste sera codée en dur dans le navigateur Chrome. Plus tard, Firefox, Safari, IE 11 et Edge ont rejoint. Par conséquent, tous les principaux navigateurs prennent en charge la même liste. De cette manière, les sites ajoutés à cette liste peuvent garantir qu’ils utilisent https en toutes circonstances, y compris pour la première fois.

    Comme le montre l'image, interrogez twitter.com pour rejoindre cette liste, ainsi lorsque vous entrez twitter.com dans la barre d'adresse, même si vous ne l'avez jamais visité auparavant, le navigateur forcera https pour la première fois , au lieu de forcer le serveur à changer.

    Pour des informations détaillées, veuillez vous référer à cet article (cité sur linux.cn)

    répondre
    0
  • 为情所困

    为情所困2017-05-16 17:22:26

    Cela ne fonctionne pas, vous ne pouvez pas exiger que les utilisateurs utilisent https pour accéder la première fois,

    Configurez le fichier de configuration conf et passez les 80 ports à 443,

    La deuxième méthode, HSTS

    server {
        listen       80;
        server_name 你的域名;
        rewrite ^/(.*) https://你的域名/ permanent;
    }
    server
        {
            listen 80;
            listen 443 ssl;
            ssl on;
            ssl_certificate /root/t3.crt;
            ssl_certificate_key /root/t3.key;
            server_name t3.zy62.com;
            index index.html index.htm index.php default.html default.htm default.php;
            root  /home/wwwroot/rootpath/;
    
            include other.conf;
            #error_page   404   /404.html;
            location / {
                try_files $uri $uri/ /index.php?$query_string;
            }
            location ~ [^/]\.php(/|$)
            {
                # comment try_files $uri =404; to enable pathinfo
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                include fastcgi.conf;
                #include pathinfo.conf;
            }
    
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }
    
            location ~ .*\.(js|css)?$
            {
                expires      12h;
            }
    
            access_log  /home/日志文件  access;
        }

    répondre
    0
  • 为情所困

    为情所困2017-05-16 17:22:26

    nginx configure SSL et force https
    https://echo.pm/lnmp-nginx-ss...

    répondre
    0
  • 高洛峰

    高洛峰2017-05-16 17:22:26

    Le serveur peut ouvrir https et http en même temps

    Celui demandé par l'utilisateur est celui demandé, et le serveur ne peut pas décider.

    Vous pouvez forcer la redirection http vers https côté serveur.

    Vous pouvez également désactiver http, de sorte que lorsque l'utilisateur demande http, il vous indiquera que l'adresse demandée n'existe pas. . N'existe pas. . .

    répondre
    0
  • 迷茫

    迷茫2017-05-16 17:22:26

    Configurez simplement http pour forcer le passage à https. Après tout, de nombreux utilisateurs sont habitués à utiliser http. Voici l'implémentation de l'ajustement forcé http de la configuration https dans différentes versions du serveur :

    Version APache

    Si vous devez rediriger l'intégralité du site, saisissez le contenu suivant dans la balise <Répertoire>

    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}/ [L,R]

    Si vous souhaitez forcer la redirection https vers un certain répertoire, copiez le code suivant :

    RewriteEngine on
    RewriteBase /yourfolder
    RewriteCond %{SERVER_PORT} !^443$
    #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/ [L,R]
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

    Si vous avez uniquement besoin de rediriger une certaine page Web vers https, vous pouvez utiliser la redirection 301 pour effectuer la redirection ! rediriger 301/votre page Web https://votre hôte+page Web

    Version IIS

    Introduction à la méthode de conversion automatique de Http en Https dans IIS

    1. Sauvegardez les fichiers suivants selon la version IIS :

    IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common3-4.htm                          
    IIS7.0以上 路径:C:\inetpub\custerr\zh-CN3.htm

    2. Copiez et remplacez tout le contenu suivant (403-4 ou 403) et enregistrez-le

    <HTML><HEAD><TITLE>该页必须通过安全通道查看</TITLE>
    <META HTTP-EQUIV="Content-Type" Content="text/html; charset=GB2312">
    </HEAD><BODY>
    <script type="text/javascript">
    var url = window.location.href;
                    if (url.indexOf("https") < 0) {
                        url = url.replace("http:", "https:");
                        window.location.replace(url);
                    }
    </script>
    </BODY></HTML>

    Remarque : Dans IIS6, accédez à Propriétés du site->Sécurité du répertoire->cochez « Exiger un canal sécurisé (SSL) » dans l'éditeur. Dans IIS7 et 8, accédez à Paramètres SSL->cochez « Exiger SSL ».

    Version Tomcat

    Deux changements doivent être apportés.

    1. Le port configuré avec le certificat SSL dans server.xml doit être remplacé par le port "443" par défaut, veuillez passer directement à la deuxième étape ;

    2. fichier de configuration xml : comme suit

    <web-app>
    .........
    <security-constraint>
        <web-resource-collection >
                  <web-resource-name >SSL</web-resource-name>
                  <url-pattern>/*</url-pattern>
           </web-resource-collection>                             
           <user-data-constraint>
           <transport-guarantee>CONFIDENTIAL</transport-guarantee>
           </user-data-constraint>
    </security-constraint>
      </web-app>

    3. Revenez au fichier de configuration server.xml et recherchez le nœud avec le port 80. L'attribut par défaut est redirectPort="8443". Vous devez le changer en "443", enregistrer et redémarrer.

    Version Nginx

    Dans le fichier qui configure le port 80, écrivez simplement le contenu suivant.

    server {
            listen       80;
            server_name  localhost;
           rewrite ^(.*)$ https://$host permanent;    
    
            location / {
                root   html;
                index  index.html index.htm;
            }

    Extrait de code commun pour les pages séparées : cette méthode est plus adaptée aux recherches SEO ou à la spécification d'une sous-page distincte https

    Ajoutez ce code à la page qui doit être forcée en https pour le traitement

    <script type="text/javascript">
    var url = window.location.href;
                    if (url.indexOf("https") < 0) {
                        url = url.replace("http:", "https:");
                        window.location.replace(url);
                    }
    </script>

    Adresse de référence : https://bbs.wosign.com/thread-46-1-1.html

    répondre
    0
  • Annulerrépondre