cari
RumahOperasi dan penyelenggaraanNginxBagaimana nginx mengkonfigurasi HSTS

Bagaimana nginx mengkonfigurasi HSTS

May 14, 2023 pm 04:37 PM
nginxhsts

Netcraft baru-baru ini menerbitkan penyelidikan mereka tentang menguji tapak web SSL/TLS dan menyatakan bahawa hanya 5% pengguna melaksanakan HSTS Keselamatan Pengangkutan Ketat HTTP dengan betul.

Apakah itu HSTS

HTTPS (SSL dan TLS) memastikan keselamatan komunikasi antara pengguna dan tapak web, menyukarkan penyerang memintas, mengubah suai dan menyamar. Apabila pengguna memasukkan nama domain atau pautan http:// secara manual, permintaan pertama ke tapak web tidak disulitkan, menggunakan http biasa. Tapak web yang paling selamat dengan serta-merta menghantar semula ubah hala yang menghalakan pengguna ke sambungan https Walau bagaimanapun, penyerang lelaki di tengah mungkin boleh memintas permintaan http awal dan dengan itu mengawal respons pengguna yang seterusnya.

Sudah tentu HSTS wujud untuk menyelesaikan masalah keselamatan yang berpotensi ini. Walaupun pengguna memasukkan nama domain atau sambungan http, penyemak imbas akan menaik taraf kepada sambungan https dengan ketat.

Bagaimana nginx mengkonfigurasi HSTS

Cara HSTS berfungsi

Dasar HSTS dikeluarkan dalam pengepala respons HTTP yang dihantar daripada tapak HTTPS selamat.

Strict-Transport-Security: max-age=31536000

Apabila penyemak imbas melihat pengepala ini daripada tapak HTTPS, ia tahu bahawa nama domain hanya boleh diakses melalui HTTPS (SSL atau TLS). Dan cache maklumat ini ke 31536000, iaitu 1 tahun.

Parameter includeSubDomains pilihan memberitahu penyemak imbas bahawa dasar tersebut digunakan untuk semua subdomain di bawah domain semasa.

Strict-Transport-Security: max-age=31536000; includeSubDomains

nginx configure HSTS

Tetapkan pengepala respons HSTS pada fail konfigurasi nginx. Parameter

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

sentiasa memastikan semua respons menetapkan pengepala ini, termasuk respons ralat yang dijana secara dalaman. versi nginx lebih awal daripada 1.7.5 tidak menyokong parameter sentiasa dan respons ralat yang dijana secara dalaman tidak menetapkan maklumat pengepala ini.

peraturan pewarisan arahan add_header:

blok konfigurasi nginx mewarisi blok enkapsulasi di mana arahan add_header terletak, jadi anda hanya perlu meletakkan arahan add_header dalam blok pelayan peringkat atas. Terdapat juga pengecualian penting. Jika blok mengandungi arahan add_header itu sendiri, ia tidak akan mewarisi pengepala daripada blok yang disertakan dan anda perlu mentakrifkan semula semua arahan 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;
    }
}

Uji Keselamatan Pengangkutan Ketat HTTP:

Setelah pengguna mencadangkan dasar HSTS, tempoh maklumat cachenya ditentukan mengikut umur maksimum. Pada masa ini, penyemak imbas akan menafikan akses kepada perkhidmatan web melalui HTTP yang tidak disulitkan dan enggan memberikan pengecualian untuk ralat sijil (jika tapak web tersebut sebelum ini menyerahkan sijil yang sah dan dipercayai). Jika parameter includeSubDomanis ditentukan, sekatan ini juga dikenakan pada semua subdomain di bawah domain semasa.

Apabila anda menguji HSTS, tetapkan masa umur maksimum lebih pendek.

Sama ada setiap respons HTTPS perlu mempunyai pengepala STS:

Matlamat kami adalah untuk memberikan dasar HSTS secepat mungkin apabila pengguna memulakan respons HTTPS. Jika mereka menerima dasar HSTS semasa sesi, mereka masih terdedah kepada serangan rampasan HTTP. Penyemak imbas hanya perlu melihat pengepala STS sekali, jadi tidak semestinya perlu menambahkannya pada setiap blok lokasi dan setiap respons. Walau bagaimanapun, hanya menambahkannya ke halaman utama atau halaman log masuk mungkin tidak mencukupi, jika anda hanya menambahkannya pada respons cache, pelanggan mungkin tidak melihatnya. Pastikan anda meliputi seberapa banyak URL anda yang munasabah, memberi perhatian khusus kepada kandungan dinamik.

HTTP dan HTTPS secara selari

Kadangkala tapak web perlu dijalankan di bawah HTTP dan HTTPS pada masa yang sama

server {
    listen  80;
    listen  443 ssl;
    ...
}

Kadangkala, permintaan http perlu dilencongkan ke 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;
}

Tingkatkan HSTS

Lindungi klien daripada pemintasan HTTP dari masa ia melihat pengepala STS hingga umur maksimum yang diisytiharkan. Walau bagaimanapun, HSTS bukanlah penyelesaian yang sempurna untuk rampasan sesi HTTP. Pengguna masih terdedah jika mereka mengakses tapak web yang dilindungi HSTS melalui HTTP:

  1. Tidak pernah melawati tapak web sebelum ini

  2. Dilawati baru-baru ini Memasang sistem pengendaliannya

  3. Baru-baru ini memasang semula penyemak imbasnya

  4. Bertukar kepada penyemak imbas baharu

  5. Tukar kepada peranti baharu seperti telefon bimbit

  6. Padam cache penyemak imbas

  7. Belum melawat tapak baru-baru ini dan umur maksimum tamat tempoh

Untuk menyelesaikan masalah ini, Google berkeras untuk mengekalkan nama domain tapak "senarai pramuat HSTS" dan nama subdomain dan menyerahkannya melalui https://hstspreload.appspot.com/ nama domainnya. Senarai nama domain ini diedarkan dan dikod keras ke dalam pelayar web utama. Pelanggan yang mengakses nama domain dalam senarai ini akan menggunakan HTTPS secara aktif dan menafikan akses kepada tapak menggunakan HTTP.

Setelah pengepala STS ditetapkan atau domain anda diserahkan kepada senarai pramuat HSTS, adalah mustahil untuk mengalih keluarnya. Ini adalah keputusan sehala untuk menjadikan nama domain anda tersedia melalui HTTPS.

Atas ialah kandungan terperinci Bagaimana nginx mengkonfigurasi HSTS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
The Ultimate Showdown: Nginx vs ApacheThe Ultimate Showdown: Nginx vs ApacheApr 18, 2025 am 12:02 AM

Nginx sesuai untuk mengendalikan permintaan serentak yang tinggi, manakala Apache sesuai untuk senario di mana konfigurasi kompleks dan sambungan berfungsi diperlukan. 1.Nginx mengamalkan seni bina yang didorong oleh peristiwa, tidak menyekat, dan sesuai untuk persekitaran yang tinggi. 2. Apache mengamalkan model atau model benang untuk menyediakan ekosistem modul yang kaya yang sesuai untuk keperluan konfigurasi kompleks.

Nginx dalam tindakan: contoh dan aplikasi dunia nyataNginx dalam tindakan: contoh dan aplikasi dunia nyataApr 17, 2025 am 12:18 AM

Nginx boleh digunakan untuk meningkatkan prestasi laman web, keselamatan, dan skalabiliti. 1) Sebagai proksi terbalik dan pengimbang beban, Nginx dapat mengoptimumkan perkhidmatan back-end dan berkongsi lalu lintas. 2) Melalui seni bina yang didorong oleh peristiwa dan tak segerak, Nginx dengan cekap mengendalikan sambungan serentak yang tinggi. 3) Fail konfigurasi membenarkan definisi peraturan yang fleksibel, seperti perkhidmatan fail statik dan mengimbangi beban. 4) Cadangan pengoptimuman termasuk membolehkan pemampatan GZIP, menggunakan cache dan menala proses pekerja.

Unit Nginx: Menyokong bahasa pengaturcaraan yang berbezaUnit Nginx: Menyokong bahasa pengaturcaraan yang berbezaApr 16, 2025 am 12:15 AM

NginxUnit menyokong pelbagai bahasa pengaturcaraan dan dilaksanakan melalui reka bentuk modular. 1. Memuatkan Modul Bahasa: Muatkan modul yang sepadan mengikut fail konfigurasi. 2. Permulaan Permohonan: Jalankan kod aplikasi apabila bahasa panggilan berjalan. 3. Permintaan Pemprosesan: Teruskan permintaan kepada contoh permohonan. 4. Pulangan Respons: Kembalikan respons yang diproses kepada pelanggan.

Memilih antara nginx dan apache: sesuai untuk keperluan andaMemilih antara nginx dan apache: sesuai untuk keperluan andaApr 15, 2025 am 12:04 AM

Nginx dan Apache mempunyai kelebihan dan kekurangan mereka sendiri dan sesuai untuk senario yang berbeza. 1.Nginx sesuai untuk senario penggunaan sumber yang tinggi dan rendah. 2. Apache sesuai untuk senario di mana konfigurasi kompleks dan modul yang kaya diperlukan. Dengan membandingkan ciri teras mereka, perbezaan prestasi, dan amalan terbaik, anda boleh membantu anda memilih perisian pelayan yang paling sesuai dengan keperluan anda.

Cara Memulakan NginxCara Memulakan NginxApr 14, 2025 pm 01:06 PM

Soalan: Bagaimana untuk memulakan nginx? Jawapan: Pasang Nginx Startup Nginx Verification Nginx adalah nginx mula meneroka pilihan permulaan lain secara automatik Mula nginx

Cara memeriksa sama ada nginx dimulakanCara memeriksa sama ada nginx dimulakanApr 14, 2025 pm 01:03 PM

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Cara menutup nginxCara menutup nginxApr 14, 2025 pm 01:00 PM

Untuk menutup perkhidmatan nginx, ikuti langkah -langkah berikut: Tentukan jenis pemasangan: Red Hat/CentOS (status SistemCTL nginx) atau debian/ubuntu (status nginx) menghentikan perkhidmatan: Red Hat/CentOS (SystemCtl Stop Nginx) atau Debian/Ubuntu (perkhidmatan Nginx) (Syst

Cara Mengkonfigurasi Nginx di WindowsCara Mengkonfigurasi Nginx di WindowsApr 14, 2025 pm 12:57 PM

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan