Rumah > Operasi dan penyelenggaraan > Nginx > Bagaimana Nginx melaksanakan konfigurasi SSL/TLS

Bagaimana Nginx melaksanakan konfigurasi SSL/TLS

WBOY
Lepaskan: 2023-11-08 09:36:22
asal
1012 orang telah melayarinya

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 / {
        # 其他相关配置
    }
}
Salin selepas log masuk

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</code Arahan kod> digunakan untuk mengkonfigurasi cache sesi SSL. <code>listen 443 ssl; 指令定义Nginx监听443端口并启用SSL。然后使用 ssl_certificatessl_certificate_key 指令分别指定SSL证书和私钥的路径。接着使用 ssl_protocols 指令指定SSL/TLS协议的版本,ssl_ciphers 指令指定加密算法的优先级,ssl_session_cachessl_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 / {
        # 其他相关配置
    }
}
Salin selepas log masuk

在完整的SSL/TLS配置示例中,我们还使用了 return 301 https://$server_name$request_uri;

Selain konfigurasi SSL/TLS asas, kami boleh mengkonfigurasi lagi parameter pengoptimuman sijil SSL, pengalihan HTTPS, dsb. Berikut ialah contoh konfigurasi SSL/TLS Nginx yang lengkap, termasuk parameter pengoptimuman dan ubah hala HTTPS yang dinyatakan di atas:

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!

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