Cara menggunakan Nginx untuk memuatkan dan mengemas kini sijil SSL secara dinamik

PHPz
Lepaskan: 2023-08-02 09:05:12
asal
2212 orang telah melayarinya

Cara menggunakan Nginx untuk memuatkan dan mengemas kini sijil SSL secara dinamik

Ikhtisar:
Dalam persekitaran Internet moden, melindungi keselamatan data pengguna adalah penting. Antaranya, menggunakan sijil SSL/TLS untuk menyulitkan komunikasi dengan pelayan web adalah kaedah biasa. Walau bagaimanapun, kaedah tradisional memerlukan mengubah suai fail konfigurasi Nginx secara manual dan memuat semula pelayan, yang akan menyebabkan masa henti untuk tapak web apabila sijil dikemas kini. Artikel ini akan memperkenalkan cara menggunakan modul dan skrip Nginx untuk memuatkan dan mengemas kini sijil SSL secara dinamik untuk meningkatkan kestabilan dan ketersediaan tapak web.

Proses pelaksanaan:

  1. Memasang kebergantungan yang diperlukan:
    Pertama, pastikan Nginx dan OpenSSL dipasang pada pelayan. Selain itu, pakej pembangunan LuaJIT perlu dipasang

    sudo apt-get install nginx openssl libluajit-5.1-dev
    Salin selepas log masuk
  2. Buat direktori storan sijil:
    Buat direktori pada pelayan untuk menyimpan sijil SSL dan fail utama.

    sudo mkdir -p /etc/nginx/ssl
    Salin selepas log masuk
  3. Buat skrip Lua:
    Buat skrip Lua untuk memuatkan dan mengemas kini sijil SSL secara dinamik. Cipta fail baharu bernama "ssl_cert_updater.lua" dan tambah kod berikut:

    local ssl_cert_path = "/etc/nginx/ssl/cert.pem"
    local ssl_key_path = "/etc/nginx/ssl/key.pem"
    
    local function update_ssl_cert()
        -- 从远程服务器下载最新的SSL证书文件和密钥文件,并保存到指定路径
        os.execute("wget -O " .. ssl_cert_path .. " https://example.com/cert.pem")
        os.execute("wget -O " .. ssl_key_path .. " https://example.com/key.pem")
        -- 重新加载Nginx配置文件
        os.execute("nginx -s reload")
    end
    
    update_ssl_cert()
    Salin selepas log masuk
  4. Kemas kini fail konfigurasi Nginx:
    Edit fail konfigurasi Nginx dan tambah entri untuk skrip Lua. Buka fail konfigurasi Nginx lalai "/etc/nginx/nginx.conf", cari lokasi modul "http", dan tambahkan kod berikut di dalamnya:

    lua_shared_dict ssl_cert_cache 10m;
    lua_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
    lua_ssl_verify_depth 3;
    init_by_lua_block {
        require "ssl_cert_updater"
    }
    Salin selepas log masuk

    Kod ini akan memuatkan skrip Lua dan memulakannya.

  5. Konfigurasikan tugas berjadual:
    Gunakan Crontab atau alatan tugas berjadual lain untuk melaksanakan skrip Lua dengan kerap. Edit fail Crontab:

    crontab -e
    Salin selepas log masuk

    Tambah baris berikut (contohnya akan dilaksanakan setiap hari Isnin jam 2 pagi):

    0 2 * * 1 lua /path/to/ssl_cert_updater.lua
    Salin selepas log masuk
  6. Uji kemas kini:
    Kini anda boleh menjalankan skrip Lua secara manual untuk menyemak sama ada kemas kini berfungsi dengan betul :

    lua /path/to/ssl_cert_updater.lua
    Salin selepas log masuk

Ringkasan:
Melalui langkah di atas, kami berjaya melaksanakan pemuatan dinamik dan kemas kini sijil SSL Nginx. Setiap kali sijil tamat tempoh atau perlu dikemas kini, skrip akan memuat turun fail sijil terkini secara automatik dan memuatkan semula pelayan Nginx. Ini mengelakkan masa henti tapak web dan memastikan data pengguna selamat. Dengan menggunakan skrip Lua dan tugas berjadual, kami dapat mengautomasikan kemas kini sijil dan meningkatkan kestabilan dan ketersediaan tapak web.

Sila ambil perhatian bahawa artikel ini hanya menyediakan contoh asas, dan pelaksanaan khusus boleh dioptimumkan lagi mengikut keperluan sebenar. Pada masa yang sama, pastikan URL sumber untuk muat turun sijil boleh dipercayai, dan keselamatan pelayan dinilai dan dilindungi dengan betul.

Atas ialah kandungan terperinci Cara menggunakan Nginx untuk memuatkan dan mengemas kini sijil SSL secara dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!