Penggunaan HTTPS dan pengoptimuman prestasi keselamatan Nginx

WBOY
Lepaskan: 2023-06-10 17:13:40
asal
1108 orang telah melayarinya

Nginx, sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, digunakan secara meluas untuk penggunaan aplikasi dan pengimbangan beban. Dengan peningkatan beransur-ansur kesedaran keselamatan dan perlindungan alam sekitar, HTTPS juga telah menjadi bahagian yang amat diperlukan dalam aplikasi web moden. Artikel ini akan menumpukan pada penggunaan HTTPS Nginx dan pengoptimuman prestasi keselamatan.

1. Penggunaan HTTPS Nginx

  1. Permohonan sijil

Mula-mula anda perlu pergi ke Pihak Berkuasa Sijil (CA) untuk memohon sijil SSL. Selepas permohonan berjaya, anda akan mendapat fail sijil (.crt) dan fail kunci peribadi (.key).

  1. Konfigurasi HTTPS

Konfigurasi HTTPS Nginx perlu melibatkan tiga aspek: Pemajuan HTTP ke HTTPS, konfigurasi sijil Nginx dan konfigurasi HTTPS.

(1) Majukan HTTP ke HTTPS

Dalam fail konfigurasi Nginx, anda perlu menambah bahagian konfigurasi HTTP supaya apabila pengguna mengakses port lalai HTTP 80, mereka secara automatik boleh melompat ke HTTPS lalai pada port 443.

server {
    listen 80;
    server_name example.com;
    return 301 https://$server_name$request_uri;
}
Salin selepas log masuk

(2) Konfigurasi sijil Nginx

Dalam fail konfigurasi Nginx, anda perlu menambah sijil SSL dan fail kunci peribadi yang baru anda mohon pada fail konfigurasi.

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/cert.crt;
    ssl_certificate_key /path/to/cert.key;
    ...
}
Salin selepas log masuk

(3) Konfigurasi HTTPS

Anda perlu mengkonfigurasi pilihan khusus protokol HTTPS, seperti mendayakan protokol HTTP/2, melumpuhkan SSLv3, dsb.

http2_push_preload on;  #启用HTTP/2协议的推送预加载
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  #指定启用的TLS协议版本
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;  #指定加密套件
ssl_prefer_server_ciphers on;  #常用加密套件优先顺序为服务端指定的值
ssl_session_cache shared:SSL:10m;  #指定SSL session缓存
ssl_session_timeout 10m;  #指定SSL session超时时间
Salin selepas log masuk

2. Pengoptimuman prestasi keselamatan Nginx

Selepas menggunakan perkhidmatan HTTPS, anda juga perlu memberi perhatian kepada isu pengoptimuman prestasi keselamatan berikut untuk memastikan kestabilan dan keselamatan perkhidmatan:

  1. Kesan respons OCSP

OCSP (Protokol Status Sijil Dalam Talian) digunakan untuk mengesan sama ada sijil telah dibatalkan. Dalam konfigurasi HTTPS Nginx, pengesanan respons OCSP boleh dilakukan melalui program berikut:

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/fullchain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;
Salin selepas log masuk

Isi utama ditafsirkan seperti berikut:

  • ssl_stapling on Turn on OCSP response
  • ssl_stapling_verify pada Dayakan pengesahan respons OCSP
  • ssl_trusted_certificate /path/to/fullchain.pem Konfigurasikan rantaian sijil
  • penyelesai 8.8.8.8 8.8.0.4 sah🎜 >resolver_timeout 10s Konfigurasikan masa resolusi DNS
  • Penyelesai DNS perlu dikonfigurasikan sebagai penyelesai dipercayai yang diiktiraf, di sini ia dikonfigurasikan sebagai DNS awam Google.

Dayakan HSTS
  1. HSTS (HTTP Strict Transport Security) menghalang pengguna daripada dirampas ke halaman HTTP, dengan itu meningkatkan tahap keselamatan. Dalam konfigurasi HTTPS Nginx, anda boleh mendayakan HSTS seperti berikut:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Salin selepas log masuk

Isi utama ditafsirkan seperti berikut:

max-age=31536000 Tentukan tempoh pengepala HSTS
  • includeSubDomains Dayakan semua subdomain
Dayakan protokol keselamatan
  1. Secara lalai, Nginx hanya mendayakan TLSv1 dan TLSv1.2, jika anda perlu dayakan orang lain Protokol penyulitan boleh dikonfigurasikan dengan cara berikut:
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
Salin selepas log masuk

Isi utama ditafsirkan seperti berikut:

TLSv1.3 mentakrifkan protokol penyulitan yang didayakan
Dayakan algoritma kunci HMAC
  1. Data yang dihantar melalui HTTPS memerlukan kunci untuk menyulitkan data Menggunakan HMAC (kod pengesahan mesej berasaskan hash) boleh meningkatkan keselamatan penghantaran data. Kaedah untuk mendayakan HMAC dalam fail konfigurasi Nginx adalah seperti berikut:
ssl_ciphers ... !aNULL !eNULL !EXPORT !CAMELLIA !DES !MD5 !PSK !RC4 !SEED +AES256 !kEDH +SHA256 +HMAC;
Salin selepas log masuk

Mata utama ditafsirkan seperti berikut:

AES256 Dayakan algoritma penyulitan AES256
  • + SHA256 Dayakan Fungsi pencincangan SHA256
  • +HMAC mendayakan algoritma kunci HMAC
  • Kesimpulan

Artikel ini memperkenalkan mata pengetahuan utama penggunaan HTTPS Nginx dan pengoptimuman prestasi keselamatan. Dalam konteks aplikasi web moden yang semakin kompleks, keperluan keselamatan dan prestasi HTTPS juga semakin tinggi dan lebih tinggi Sebagai pengurus sistem, adalah penting untuk sentiasa mengemas kini rizab pengetahuan anda dan mengekalkan visi profesional teknologi baharu dan persekitaran baharu. Sangat perlu dan penting.

Atas ialah kandungan terperinci Penggunaan HTTPS dan pengoptimuman prestasi keselamatan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan