Rumah Operasi dan penyelenggaraan Nginx Caching HTTP dan pengoptimuman prestasi keselamatan dalam Nginx

Caching HTTP dan pengoptimuman prestasi keselamatan dalam Nginx

Jun 10, 2023 am 11:00 AM
nginx http cache Prestasi keselamatan

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.

  1. 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;
}
Salin selepas log masuk

bermaksud sumber statik dalam direktori /static/ akan tamat tempoh selepas 30 hari.

  1. 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;
    }
}
Salin selepas log masuk

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.

  1. 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;
}
Salin selepas log masuk

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.

  1. 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 / {
        ...
    }
}
Salin selepas log masuk
  1. 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;
    ...
}
Salin selepas log masuk

(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;
    ...
}
Salin selepas log masuk

(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;
    ...
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

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

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 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 menyelesaikan nginx403 Cara menyelesaikan nginx403 Apr 14, 2025 am 10:33 AM

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.

Cara memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

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.

Cara menyelesaikan ralat nginx403 Cara menyelesaikan ralat nginx403 Apr 14, 2025 pm 12:54 PM

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.

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 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.

Cara menyelesaikan masalah domain nginx Cara menyelesaikan masalah domain nginx Apr 14, 2025 am 10:15 AM

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.

Cara menyelesaikan ralat nginx304 Cara menyelesaikan ralat nginx304 Apr 14, 2025 pm 12:45 PM

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.

Bagaimana untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

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.

See all articles