


Caching HTTP dan pengoptimuman prestasi keselamatan dalam Nginx
Nginx ialah pelayan web berprestasi tinggi dan perisian pelayan proksi terbalik Prestasi tinggi dan kebolehpercayaannya adalah disebabkan oleh prestasi cache dan keselamatan HTTP yang sangat baik. Artikel ini akan memperkenalkan secara terperinci cara mengoptimumkan prestasi Nginx dari dua aspek: cache HTTP Nginx dan prestasi keselamatan.
1. Pengoptimuman cache HTTP
Caching HTTP ialah salah satu cara penting untuk pengoptimuman prestasi web. Ia boleh meningkatkan kelajuan tindak balas dan pengalaman pengguna aplikasi web. Dalam Nginx, kami boleh meningkatkan prestasi laman web dengan mengkonfigurasi cache HTTP.
- Caching sumber statik
Sumber statik termasuk CSS, JavaScript, imej, dll. Kandungan sumber ini selalunya tidak kerap berubah, jadi ia boleh dicache untuk mengurangkan interaksi pelanggan antara pelayan. Dalam Nginx, kita boleh menggunakan arahan tamat tempoh untuk mengawal masa tamat tempoh cache. Contohnya:
location /static/ { expires 30d; }
bermaksud sumber statik dalam direktori /static/ akan tamat tempoh selepas 30 hari.
- Caching halaman dinamik
Kandungan halaman dinamik boleh dijana secara dinamik berdasarkan parameter permintaan, kuki, dsb., jadi ia tidak boleh dicache terus pada klien seperti sumber statik. Tetapi kita boleh cache halaman dinamik pada bahagian pelayan Apabila terdapat permintaan yang sama pada masa akan datang, hasil cache akan dikembalikan terus untuk mengelakkan penjanaan semula halaman. Dalam Nginx, kita boleh menggunakan arahan proxy_cache untuk mengkonfigurasi cache. Contohnya:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m; server { location / { proxy_cache my_cache; proxy_pass http://backend; } }
Di sini kami menyediakan kawasan cache bernama my_cache dan menyimpan hasil cache dalam direktori /var/cache/nginx. Kemudian konfigurasikan arahan proxy_cache di lokasi untuk mendayakan caching.
- Gunakan mekanisme rundingan cache
Mekanisme rundingan cache bermakna apabila meminta sumber, pelanggan mula-mula menghantar syarat Jika-Diubahsuai-Sejak atau Jika-Tiada-Padanan Apabila meminta kepada pelayan, jika sumber cache tidak berubah, pelayan mengembalikan kod status 304 Not Modified, dan pelanggan boleh terus menggunakan sumber cache, sekali gus mengurangkan lebar jalur dan masa tindak balas. Dalam Nginx, kita boleh menggunakan arahan proxy_cache_revalidate untuk mendayakan mekanisme rundingan cache. Contohnya:
location / { proxy_cache my_cache; proxy_cache_revalidate on; proxy_pass http://backend; }
Di sini kita hanya perlu menambah arahan proxy_cache_revalidate ke lokasi.
2. Pengoptimuman prestasi keselamatan
Pengoptimuman prestasi keselamatan merujuk kepada meningkatkan prestasi aplikasi sebaik mungkin sambil memastikan keselamatan aplikasi web. Sebagai pelayan web berprestasi tinggi dan perisian pelayan proksi terbalik, Nginx bukan sahaja mesti memastikan prestasi tinggi aplikasi, tetapi juga memastikan keselamatan aplikasi.
- komunikasi disulitkan HTTPS
HTTPS ialah lanjutan protokol HTTP dan menggunakan protokol SSL/TLS untuk menyulitkan dan menyahsulit data untuk mencapai penghantaran data yang selamat. Dalam Nginx, kita boleh menggunakan arahan ssl_certificate dan ssl_certificate_key untuk mengkonfigurasi sijil SSL dan kunci peribadi. Contohnya:
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { ... } }
- HTTP Defense Attack
Kaedah serangan biasa dalam aplikasi web termasuk suntikan SQL, skrip silang tapak (XSS) dan pemalsuan permintaan merentas tapak ( CSRF) tunggu. Dalam Nginx, kita boleh menggunakan modul untuk mempertahankan diri daripada serangan ini.
(1) Suntikan SQL
Suntikan SQL bermakna penyerang memintas mekanisme pengesahan dan kebenaran aplikasi dengan membina pernyataan SQL khas, atau secara langsung melaksanakan pernyataan SQL yang berniat jahat, dengan itu Menyebabkan kebocoran data dan rasuah. Dalam Nginx, kita boleh menggunakan modul HttpSqlInjectionModule untuk mempertahankan diri daripada suntikan SQL. Contohnya:
location / { sql_injection on; ... }
(2) Serangan XSS
Serangan XSS bermaksud penyerang menyuntik skrip hasad ke dalam halaman web untuk mendapatkan maklumat sensitif pengguna atau mengawal penyemak imbas pengguna. Dalam Nginx, kita boleh menggunakan modul HttpXssModule untuk mempertahankan diri daripada serangan XSS. Contohnya:
location / { xss on; ... }
(3) Serangan CSRF
Serangan CSRF merujuk kepada penyerang yang menyamar sebagai pengguna untuk melakukan operasi haram dalam aplikasi web yang dipercayai, dengan itu menyebabkan kerosakan. Dalam Nginx, kita boleh menggunakan modul HttpCsrfModule untuk mempertahankan diri daripada serangan CSRF. Contohnya:
location / { csrf on; ... }
Secara ringkasnya, artikel ini memperkenalkan secara terperinci cara mengoptimumkan prestasi Nginx daripada aspek cache HTTP Nginx dan prestasi keselamatan. Dengan menggunakan cache HTTP dengan betul, kami boleh meningkatkan kelajuan tindak balas dan pengalaman pengguna aplikasi dengan menggunakan sijil dan modul SSL, kami boleh memastikan keselamatan aplikasi dan mempertahankan daripada pelbagai serangan.
Atas ialah kandungan terperinci Caching HTTP dan pengoptimuman prestasi keselamatan dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

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.

Terdapat dua cara untuk menyelesaikan masalah silang domain Nginx: Ubah suai tajuk tindak balas silang domain: Tambah arahan untuk membenarkan permintaan lintas domain, nyatakan kaedah dan tajuk yang dibenarkan, dan tetapkan masa cache. Gunakan modul CORS: Dayakan modul dan konfigurasikan peraturan CORS untuk membolehkan permintaan, kaedah, tajuk, dan masa cache domain.

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.
