Rumah > Soal Jawab > teks badan
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.
習慣沉默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)
为情所困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;
}
高洛峰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. . .
迷茫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:
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
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" .
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.
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