Dengan pembangunan dan peningkatan berterusan Internet, permintaan untuk kelajuan dan prestasi pelayan web juga semakin tinggi. Untuk memenuhi permintaan sedemikian, Nginx telah berjaya menguasai protokol HTTP2 dan memasukkannya ke dalam prestasi pelayannya. Protokol HTTP2 adalah lebih cekap daripada protokol HTTP sebelumnya, tetapi ia juga mempunyai isu keselamatan khusus. Artikel ini akan memperkenalkan anda secara terperinci cara mengoptimumkan protokol HTTP2 dan tetapan keselamatan Nginx.
1. Pengoptimuman protokol HTTP2 Nginx
1 Dayakan HTTP2
Cara paling mudah untuk menggunakan protokol HTTP2 dalam pelayan Nginx adalah dengan mendayakan SSL dan TLS. Untuk mendayakan protokol ini, kami perlu menggunakan beberapa konfigurasi khas dalam fail nginx.conf. Sebelum mendayakan HTTP2, kami perlu memastikan bahawa sijil SSL digunakan dan setiap permintaan disulitkan. Untuk pelayan HTTP2, protokol penyulitan HTTPS mesti digunakan supaya data tidak terdedah kepada rangkaian dan menghalang penyadapan dan serangan orang tengah.
2. Dayakan pemultipleksan HTTP2
Pemultipleksan protokol HTTP2 membolehkan pelayan web menghantar berbilang permintaan dan respons pada satu sambungan pada masa yang sama. Ini sangat meningkatkan prestasi dan kecekapan pelayan. Jika pemultipleksan tidak didayakan, kelebihan protokol HTTP2 akan sangat berkurangan. Mendayakan pemultipleksan adalah serupa dengan mendayakan HTTP2. Kami boleh mendayakannya dengan menambahkan "http2_push_preload on" dalam bahagian pelayan fail konfigurasi Nginx.
3. Dayakan Gzip untuk Nginx
Gzip ialah teknologi biasa yang digunakan untuk memampatkan data pelayan web untuk meningkatkan prestasi dan kecekapan. Nginx mempunyai modul gzip terbina dalam untuk memampatkan semua dokumen Html, CSS, JS dan XML. Hidupkan gzip dalam fail konfigurasi:
gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
Antaranya, konfigurasi ginx mendayakan fungsi gzip, gzip_disable menunjukkan penyemak imbas yang melumpuhkan gzip, gzip_vary mendayakan sokongan cache, gzip_proxied menunjukkan kaedah penghantaran yang membenarkan pemampatan, gzip_comp_level menunjukkan tahap mampatan dan tetapan gzip_buffers Dalam kawasan cache, gzip_http_version menunjukkan versi http2.0 dan gzip_types menunjukkan jenis fail dengan gzip didayakan.
2. Tetapan keselamatan protokol HTTP2 Nginx
1 Gunakan penyulitan HTTPS
Apabila menggunakan protokol HTTP2, anda mesti menggunakan protokol penyulitan HTTPS untuk memastikan data dihantar semasa penghantaran Tidak boleh didengari atau diubah suai. Anda boleh menggunakan sijil SSL atau protokol keselamatan lain yang menghalang paket daripada dipintas.
2. Matikan protokol usang atau berbahaya
Dalam tetapan HTTPS Nginx, protokol SSL dan TLS yang lama dan berbahaya mesti dimatikan. Sebagai contoh, SSLv2 dan SSLv3 adalah protokol yang tidak selamat dan boleh dieksploitasi oleh serangan man-in-the-middle. TLSv1.0 dan TLSv1.1 juga sudah lapuk dan oleh itu tidak disyorkan.
3. Dayakan HSTS
HSTS ialah langkah keselamatan yang menghalang penyemak imbas daripada menerima skrip terbenam berniat jahat daripada sumber yang tidak dipercayai dan boleh mengubah hala sambungan ke tapak web anda untuk menjadi HTTPS yang selamat. Persediaan HSTS melibatkan penambahan pengepala respons HSTS pada pengepala HTTP dan menandakannya sebagai tidak boleh ditarik balik semasa komunikasi HTTPS antara penyemak imbas dan pelayan.
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Antaranya, umur maksimum menunjukkan tempoh penuaan untuk menetapkan tapak web kepada HSTS, dan termasukSubDomains menunjukkan bahawa HSTS akan digunakan untuk semua subdomain. Tetapan ini hendaklah sentiasa memasukkan peraturan “always”
untuk memastikan pengepala HSTS hadir dalam setiap respons, walaupun pada ralat 404.
Kesimpulan
Protokol HTTP2 Nginx boleh meningkatkan prestasi pelayan, tetapi isu keselamatan juga perlu diberi perhatian. Untuk memastikan pelayan anda selamat, anda mesti menggunakan sijil SSL dan protokol TLS untuk melindungi data anda, mematikan protokol warisan yang tidak selamat dan membolehkan HSTS melindungi penyemak imbas anda daripada serangan skrip terbenam yang berniat jahat. Mendayakan gzip dalam konfigurasi Nginx boleh mengoptimumkan prestasi tapak web. Dengan konfigurasi ini, anda boleh meningkatkan prestasi dan keselamatan pelayan Nginx anda.
Atas ialah kandungan terperinci Pengoptimuman protokol HTTP2 Nginx dan tetapan keselamatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!