Rumah  >  Soal Jawab  >  teks badan

nginx - https dikonfigurasikan dan hsts didayakan Bagaimana saya boleh memaksa https untuk lawatan pertama?

https dikonfigurasikan, tetapi setiap lawatan pertama menggunakan http. Maksudnya, jika pengguna tidak pernah melawat tapak web kami melalui HTTPS, jelas sekali tiada peluang untuk mendapatkan pengepala respons HSTS, jadi masih boleh mengaksesnya buat kali pertama melalui HTTP.

我想大声告诉你我想大声告诉你2736 hari yang lalu874

membalas semua(5)saya akan balas

  • 習慣沉默

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

    Google sentiasa mendahului dari segi keselamatan penyemak imbas, jadi ia mengekalkan senarai pramuat (sila layari Internet secara saintifik dahulu) untuk digunakan Chrome, dan senarai ini akan dikodkan keras ke dalam penyemak imbas Chrome. Kemudian, Firefox, Safari, IE 11 dan Edge menyertainya. Oleh itu, semua pelayar utama menyokong senarai yang sama. Dengan cara ini, tapak web yang ditambahkan pada senarai ini boleh memastikan bahawa mereka menggunakan https dalam apa jua keadaan, termasuk untuk kali pertama.

    Seperti yang ditunjukkan dalam gambar, tanya twitter.com untuk menyertai senarai ini, jadi apabila anda memasukkan twitter.com dalam bar alamat, walaupun anda belum melawatinya sebelum ini, pelayar akan memaksa https untuk pergi dan bukannya memaksa pelayan untuk melompat.

    Untuk maklumat terperinci, sila rujuk artikel ini (dipetik daripada linux.cn)

    balas
    0
  • 为情所困

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

    Ini tidak berfungsi, anda tidak boleh meminta pengguna menggunakan https untuk mengakses kali pertama,

    Konfigurasikan fail konfigurasi conf dan lompat kesemua 80 port ke 443,

    Kaedah kedua, 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;
        }

    balas
    0
  • 为情所困

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

    nginx konfigurasi ssl dan paksa https
    https://echo.pm/lnmp-nginx-ss...

    balas
    0
  • 高洛峰

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

    Pelayan boleh membuka https dan http pada masa yang sama

    Yang diminta oleh pengguna ialah yang diminta, dan pelayan tidak boleh memutuskannya.

    Anda boleh paksa ubah hala http ke https di bahagian pelayan.

    Anda juga boleh mematikan http, supaya apabila pengguna meminta http, ia akan menggesa anda bahawa alamat yang diminta tidak wujud. . tidak wujud. . .

    balas
    0
  • 迷茫

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

    Hanya konfigurasikan http untuk melompat paksa ke https Lagipun, ramai pengguna sudah biasa menggunakan http. Berikut ialah pelaksanaan pelarasan paksa http bagi konfigurasi https dalam pelbagai versi pelayan:

    versi APache

    Jika anda perlu mengubah hala keseluruhan tapak, taip kandungan berikut dalam teg <Direktori> pada fail konfigurasi tapak web:

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

    Jika anda ingin memaksa https ubah hala ke direktori tertentu, salin kod berikut:

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

    Jika anda hanya perlu mengubah hala halaman web tertentu ke https, anda boleh menggunakan ubah hala 301 untuk melakukan ubah hala! ubah hala 301/halaman web anda https://hos+laman web anda

    Versi IIS

    Pengenalan kepada kaedah menukar Http kepada Https secara automatik dalam IIS

    1. Sandarkan fail berikut mengikut versi IIS:

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

    2. Salin dan ganti semua kandungan berikut (403-4 atau 403) dan simpan

    <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>

    Nota: Dalam IIS6, pergi ke Site Properties -> Directory Security -> Semak "Require Secure Channel (SSL)" dalam Editing Dalam IIS7 dan 8, pergi ke SSL Settings -> Check "Require SSL" .

    Versi Tomcat

    Dua perubahan perlu dibuat.

    1. Port yang dikonfigurasikan dengan sijil SSL dalam server.xml harus ditukar kepada port "443" lalai. Jika ia telah diubah suai, sila teruskan ke langkah kedua
    2. fail konfigurasi xml: seperti berikut

    <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 Kembali ke fail konfigurasi server.xml dan cari nod dengan port 80. Atribut lalai ialah redirectPort="8443". Anda perlu menukarnya kepada "443", simpan dan mulakan semula.

    Versi Nginx

    Dalam fail yang mengkonfigurasi port 80, tulis sahaja kandungan berikut.

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

    Coretan kod universal untuk halaman berasingan: Kaedah ini lebih sesuai untuk carian SEO atau menentukan subhalaman berasingan https

    Tambahkan kod ini pada halaman yang perlu dipaksa ke https untuk diproses

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

    Alamat rujukan: https://bbs.wosign.com/thread-46-1-1.html

    balas
    0
  • Batalbalas