Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana Nginx melaksanakan konfigurasi SSL/TLS
Cara Nginx melaksanakan konfigurasi SSL/TLS memerlukan contoh kod khusus
Dalam era hari ini apabila keselamatan maklumat menjadi semakin penting, penyulitan laman web telah menjadi perlindungan Satu cara penting untuk privasi pengguna dan integriti data. Sebagai protokol penyulitan yang paling biasa digunakan pada masa ini, protokol SSL/TLS boleh memastikan keselamatan data semasa penghantaran. Sebagai pelayan web yang berkuasa, Nginx juga boleh melaksanakan penghantaran laman web yang disulitkan melalui konfigurasi SSL/TLS. Artikel ini akan memperkenalkan secara terperinci cara Nginx melaksanakan konfigurasi SSL/TLS dan memberikan contoh kod khusus.
Pertama, kita perlu memasang perisian Nginx pada pelayan, dan kemudian membuat konfigurasi SSL/TLS yang sepadan dalam fail konfigurasi. Berikut ialah contoh konfigurasi SSL/TLS Nginx asas:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/your.ssl.crt; ssl_certificate_key /path/to/your.ssl.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:TLSv1.2:!ADH'; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { # 其他相关配置 } }
Dalam konfigurasi di atas, kami mula-mula menggunakan arahan listen 443 ssl;
untuk mentakrifkan Nginx untuk mendengar 443 port dan dayakan SSL . Kemudian gunakan arahan ssl_certificate
dan ssl_certificate_key
untuk menentukan laluan ke sijil SSL dan kunci peribadi masing-masing. Kemudian gunakan arahan ssl_protocols
untuk menentukan versi protokol SSL/TLS, arahan ssl_ciphers
untuk menentukan keutamaan algoritma penyulitan, ssl_session_cache
dan ssl_session_timeout
Arahan kod> digunakan untuk mengkonfigurasi cache sesi SSL. listen 443 ssl;
指令定义Nginx监听443端口并启用SSL。然后使用 ssl_certificate
和 ssl_certificate_key
指令分别指定SSL证书和私钥的路径。接着使用 ssl_protocols
指令指定SSL/TLS协议的版本,ssl_ciphers
指令指定加密算法的优先级,ssl_session_cache
和 ssl_session_timeout
指令用于配置SSL会话缓存。
除了基本的SSL/TLS配置,我们还可以进一步配置SSL证书的优化参数、HTTPS重定向等。以下是一个完整的Nginx的SSL/TLS配置示例,包括了上述提到的优化参数和HTTPS重定向:
server { listen 80; server_name yourdomain.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/your.ssl.crt; ssl_certificate_key /path/to/your.ssl.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:TLSv1.2:!ADH'; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; # 开启OCSP Stapling ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s; location / { # 其他相关配置 } }
在完整的SSL/TLS配置示例中,我们还使用了 return 301 https://$server_name$request_uri;
rrreee
Dalam contoh konfigurasi SSL/TLS yang lengkap, kami juga menggunakan return 301 https: //$server_name$request_uri; Melaksanakan pengalihan permintaan HTTP ke HTTPS dan menambah sokongan untuk OCSP Stapling. Perlu diingatkan bahawa sijil SSL, laluan kunci persendirian dan nama domain dalam contoh di atas perlu ditukar sewajarnya mengikut situasi sebenar. Di samping itu, semasa mengkonfigurasi SSL/TLS, anda perlu memberi perhatian untuk melindungi keselamatan sijil dan fail kunci peribadi untuk mengelakkan kebocoran atau gangguan. #🎜🎜##🎜🎜# Ringkasnya, melalui kod contoh di atas, pembaca boleh memahami cara melaksanakan konfigurasi SSL/TLS dalam Nginx, dan boleh membuat konfigurasi tersuai yang sepadan mengikut situasi sebenar untuk memastikan penghantaran data tapak web yang selamat. Saya harap artikel ini dapat membantu pembaca yang berminat dengan konfigurasi SSL/TLS Nginx Saya juga berharap semua orang dapat memberi perhatian kepada keselamatan penyulitan laman web dan melindungi privasi pengguna dan keselamatan data. #🎜🎜#Atas ialah kandungan terperinci Bagaimana Nginx melaksanakan konfigurasi SSL/TLS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!