


Bagaimanakah NGINX mengendalikan permintaan HTTPS dan sijil SSL?
Nginx mengendalikan permintaan HTTPS dengan menamatkan sambungan SSL/TLS, menyahsulit permintaan klien, dan menghantarnya ke pelayan backend atau menyampaikan kandungan secara langsung. 1. Penamatan SSL/TLS berlaku di NGINX, di mana ia menguruskan jabat tangan TLS, membentangkan sijil, dan menetapkan saluran yang selamat, tugas penyulitan dari pelayan backend. 2. Sijil SSL dikonfigurasi dalam blok pelayan menggunakan ssl_certificate untuk rantaian sijil dan ssl_certificate_key untuk kunci peribadi, dengan sokongan untuk TLS 1.2 dan 1.3 dan ciphers kuat. 3. Sijil boleh didapati melalui Let's Encrypt (Automatik dengan CertBot), CAS komersial, atau ditandatangani sendiri untuk ujian, dengan pembaharuan automatik menggunakan CertBot Renew --quiet --post-hook "SystemCTL Reload Nginx". 4. Amalan terbaik termasuk melumpuhkan versi TLS yang sudah lapuk, membolehkan stapling OCSP, menetapkan HSTs dengan add_header ketat-pengangkutan-keselamatan "max-usia = 31536000" selalu, dan mengalihkan HTTP ke HTTPS menggunakan 301 redirect, memastikan pengurusan SSL yang selamat dan efisien.
Nginx mengendalikan permintaan HTTPS dan sijil SSL dengan bertindak sebagai proksi terbalik atau pelayan web yang menamatkan sambungan SSL/TLS. Apabila pelanggan (seperti penyemak imbas) membuat permintaan HTTPS, NGINX menyahsulit trafik menggunakan sijil SSL yang dikonfigurasi dan kunci persendirian, kemudian memproses permintaan -sama ada melayani kandungan statik secara langsung atau menghantarnya ke pelayan aplikasi backend.

Inilah cara ia berfungsi dalam amalan:
1. SSL/TLS Penamatan di Nginx
NGINX melakukan penamatan SSL, yang bermaksud ia mengendalikan penyulitan dan penyahsulitan data antara klien dan pelayan. Ini mengimbangi tugas penyulitan CPU yang intensif dari pelayan backend.

Apabila pelanggan menghubungkan HTTPS:
- Penyemak imbas memulakan jabat tangan TLS dengan nginx.
- Nginx membentangkan sijil SSLnya.
- Setelah jabat tangan selesai, saluran selamat ditubuhkan.
- Nginx menyahsulit permintaan masuk dan menyulitkan respons sebelum menghantarnya kembali.
Persediaan ini meningkatkan prestasi dan memudahkan pengurusan sijil.

2. Mengkonfigurasi sijil SSL di nginx
Untuk membolehkan HTTPS, anda mesti mengkonfigurasi nginx dengan:
- Sijil SSL (kunci awam)
- Kunci peribadi
- Sijil Perantaraan Pilihan (Bundle CA)
Ini ditentukan dalam blok pelayan:
pelayan { Dengar 443 SSL; Server_name example.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; # Tetapan SSL tambahan SSL_PROTOCOLS TLSV1.2 TLSV1.3; SSL_CIPHERS ECDHE-RSA-AES256-GCM-SHA512; SSL_PREFER_SERVER_CIPHERS OFF; lokasi / { proxy_pass http: // backend; } }
Fail ssl_certificate
hendaklah memasukkan sijil domain anda dan sebarang sijil perantaraan (tetapi bukan root ca). Kunci peribadi mesti disimpan dengan selamat dan boleh dibaca hanya oleh proses Nginx.
3. Mendapatkan dan Menguruskan Sijil
Cara Biasa untuk mendapatkan sijil SSL:
- Mari enkripsi (percuma): Gunakan CertBot atau Acme.sh untuk mengautomasikan penerbitan dan pembaharuan.
- CAS Commercial: Pembelian dari penyedia seperti Digicert, Sectigo, dll.
- Ditandatangani sendiri (untuk ujian): Tidak dipercayai oleh pelayar tetapi berguna dalam persekitaran dev.
Dengan Let's Encrypt, sijil memperbaharui setiap 90 hari. Anda boleh mengautomasikan pembaharuan dan tambah nilai nginx tanpa downtime:
Certbot Renew-Quiet --Post-Hook "SystemCtl Reload Nginx"
Banyak persediaan hosting menggunakan skrip atau pekerjaan cron untuk mengendalikannya secara automatik.
4. Amalan terbaik untuk SSL di nginx
Untuk memastikan keselamatan dan keserasian:
- Gunakan protokol TLS yang kuat (melumpuhkan TLS 1.0 dan 1.1).
- Pilih ciphers moden (lebih suka ECDHE untuk kerahsiaan ke hadapan).
- Dayakan OCSP Stapling untuk meningkatkan kelajuan pengesahan dan privasi.
- Sediakan HST untuk menguatkuasakan HTTPS merentasi pelayar.
Penambahan contoh:
SSL_STAPLING ON; ssl_stapling_verify on; ssl_trusted_certificate /path/to/ca-bundle.pem; add_header ketat-pengangkutan-keselamatan "max-usia = 31536000" selalu;
Anda juga harus mengalihkan http ke https:
pelayan { Dengar 80; Server_name example.com; kembali 301 https: // $ host $ request_uri; }
Pada asasnya, Nginx menjadikannya mudah untuk melayani kandungan yang selamat dengan memusatkan pengendalian SSL, menyokong automasi, dan menawarkan kawalan halus ke atas tetapan penyulitan.
Atas ialah kandungan terperinci Bagaimanakah NGINX mengendalikan permintaan HTTPS dan sijil SSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

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



Sebagai pintu masuk API, Nginx mempunyai kelebihan prestasi tinggi, latensi rendah, pengimbangan beban, dan kawalan keselamatan. 1. Mengamalkan seni bina yang didorong oleh peristiwa, menyokong kesesuaian yang tinggi dan penggunaan sumber yang rendah, dan meningkatkan kelajuan tindak balas API; 2. Menyokong pelbagai strategi mengimbangi beban dan pemeriksaan kesihatan untuk memastikan ketersediaan perkhidmatan yang tinggi; 3. Bolehkah laluan dan menulis semula URL berdasarkan peraturan seperti laluan dan nama domain untuk memudahkan pengurusan versi API; 4. Menyediakan mekanisme keselamatan seperti pengehadan semasa, kawalan IP, pengesahan JWT dan penamatan SSL untuk mencegah permintaan berniat jahat; 5. Caching Response Sokongan, mengurangkan tekanan back-end, dan meningkatkan prestasi API yang berintensifkan; 6. Menyesuaikan format log untuk memudahkan integrasi dengan sistem pemantauan seperti rusa dan grafana; 7. Menyokong HTTP/2, HTTP/3 dan WebSocket.

Modul GEO Nginx digunakan untuk membuat pembolehubah berdasarkan alamat IP klien. 1. Pemetaan julat IP dan nilai pembolehubah boleh ditakrifkan melalui arahan GEO di blok HTTP, seperti menetapkan IP persendirian ke 1 dan selebihnya ke 0, dan menggunakan pembolehubah ini dalam pelayan atau lokasi untuk kawalan akses; 2 Jika geolokasi peringkat kebangsaan diperlukan, modul GEO asli tidak menyokong pertanyaan langsung dari pangkalan data GEOIP, dan ia bergantung kepada modul pihak ketiga NGX_HTTP_GEOIP2_MODULE. GEO asli hanya terpakai untuk mengkonfigurasi segmen CIDRIP secara manual (seperti IP Rusia dalam contoh), tetapi penyelenggaraan adalah sukar dan tidak disyorkan untuk digunakan dalam persekitaran pengeluaran; 3. Amalan terbaik adalah untuk menggabungkan arahan peta untuk meningkatkan fleksibiliti, seperti menetapkan $ C dengan GEO terlebih dahulu.

Diski/ooverheadisthemainperformanceconcern, ashighrequestvolumesincreasewriteoperations, berpotensibottleneckingsloworoverloaddisks; menggunakancesscess_logofffornon-criticalpathslikealthChecksreduceSunnesaryWrites.2.com.comsplexplogwieldewrites.2.com.comsplexpleGoSwiRyWrites.2

SteMitKypikeLoCkoCkoCheBerBiTiNDiSheAndAsDiSheApianTheNheApheAcheApheAcheAcheAcheBerBab

Nginxusesamaster-workerarchitectureforhighperformanceAndStability; themasterprocessmanagestheserverbyreadingconfigurations, bindingports, startworkers, andhandlingsignals, whileworkerprocesseshandleclientrequestsindependirdentinginganevent-driven, non-dorroven, non -driven

NginxdoesnotnegielysupportenvironmentvariablesinitsconfigurationFiles, butyoucanoundthislimitationusingseveralmethods: 1.usetheenvdirectivetopassspecificenvironmentvariablestoworker

Menggunakan aplikasi Django memerlukan konfigurasi persekitaran pengeluaran, proksi terbalik Gunicorn dan Nginx. 1. Set debug = palsu, konfigurasi dibenarkan_hosts, tentukan static_root dan jalankan koleksi untuk mengumpul fail statik. 2. Pasang Gunicorn dan menguji dan jalankannya. Selepas mengesahkan bahawa ia betul, menguruskan perkhidmatan melalui SystemD. 3. Buat fail perkhidmatan SystemD. Konfigurasikan Gunicorn untuk memulakan dengan soket Unix, tetapkan laluan yang betul dan aktifkan perkhidmatan selepas pengguna. 4. Pasang nginx dan buat konfigurasi tapak, nyatakan server_name, konfigurasi /statik /jalan untuk menunjuk ke direktori fail statik, dan selebihnya permintaan diluluskan

UsehttpbasicauthenticationWithhtpasswdtopassword-protectlocations; 2.StrictByipusingAllow/denyrules; 3.combinebothwithsatisfyallfordualverification; 4.blocksensitiveFilesviaReGexordirectoreDenies;
