nginx - https dikonfigurasikan dan hsts didayakan Bagaimana saya boleh memaksa https untuk lawatan pertama?
我想大声告诉你
我想大声告诉你 2017-05-16 17:20:26
0
5
888

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.

我想大声告诉你
我想大声告诉你

membalas semua(5)
習慣沉默

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)

为情所困

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;
    }
为情所困

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

小葫芦

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

迷茫

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan