Pengenalan #
Let's Encrypt adalah pihak berkuasa sijil terbuka dan automatik yang menggunakan ACME (Persekitaran Pengurusan Sijil Automatik) protokol untuk menyediakan sijil TLS / SSL percuma kepada mana-mana pelanggan yang serasi. Sijil ini boleh digunakan untuk menyulitkan komunikasi antara pelayan web dan pengguna.
Tutorial ini akan membincangkan secara ringkas pihak berkuasa sijil dan bagaimana RELIANOID penyepaduan berfungsi dengan Let's Encrypt, kemudian semak caranya RELIANOID menggunakan certbot (Pelanggan ACME) untuk membuat komunikasi dengan Let's encrypt infrastruktur.
RELIANOID Load Balancer 6.0.3 atau versi yang lebih tinggi termasuk pembungkus certbot kecil yang dipanggil letsencryptz untuk menggunakan kefungsian webroot Certbot, baris berikut menerangkan bagaimana pembungkus ini berfungsi, sila ambil perhatian ini untuk menjadikannya berfungsi dalam persekitaran pengeluaran.
Bagaimanakah enkripsi Let's encrypt berfungsi? #
Sebagai penerangan ringkas kefungsian webroot, pemalam webroot berfungsi dengan mencipta fail sementara untuk setiap domain yang anda minta dalam RELIANOID laluan fail /usr/local/relianoid/app/letsencryptz/webroot/.well-known/acme-challenge/. Kemudian pelayan validasi Let's Encrypt membuat permintaan HTTP untuk mengesahkan bahawa DNS untuk setiap domain yang diminta diselesaikan ke pelayan yang menjalankan pembungkus letsencryptz dan fail sementara untuk tujuan pengesahan dapat diakses, rajah berikut menerangkan contoh sebenar:
Dalam rajah sebelumnya, RELIANOID Pengimbang beban berada di belakang Router / Firewall dengan alamat IP awam 185.79.20.147 (sebagai contoh), trafik HTTP dan HTTPS ditapis ke pengimbang beban dalaman dengan VIP 192.168.101.31 (sebagai contoh), di mana pengimbang beban dikonfigurasi dengan ladang yang berbeza 2:
Nama Ladang HTTPS WebHosting melalui 192.168.101.31:443. Ladang ini bertanggungjawab untuk menawarkan web hosting, pelayan web yang berbeza diterbitkan bersama-sama dengan ini ke Internet. Sebagai contoh, test1.relianoid.com, test2.relianoid.com, test3.relianoid.com sedang menguji laman web yang diterbitkan pada perkhidmatan maya ini antara lain.
Nama Ladang HTTP WebhostingRedirect melalui 192.168.101.31:80. Ladang ini hanya digunakan untuk tujuan redirect, ia memaksa semua lalu lintas dari HTTP ke HTTPS.
Gambar rajah sebelumnya menerangkan permintaan Sijil Let's Encrypt SSL untuk domain test1.relianoid.com seperti berikut:
1. Permintaan sijil dihantar dari pengimbang beban itu sendiri ke infrastruktur Let's Encrypt.
2. Mari encrypt mengesan Permintaan Sijil SSL baru untuk test1.relianoid.com
3. Mari kita enkripsi menjalankan resolusi IP DNS untuk hos yang diminta: test1.relianoid.com memeriksa bahawa hasilnya ialah IP awam, IP asal yang sama yang memulakan permintaan tersebut.
4. Pada ketika ini Mari kita mengenkripsi mengumumkan kepada letsencryptz skrip (webroot cerbot) yang perlu membuat fail dengan a HASH di jalan awam http://test1.relianoid.com/.well-know/acme-challenge/ (80 TCP Port), Direktori setempat /usr/local/relianoid/app/letsencryptz/webroot/.well-known/acme-challenge/. Kemudian, letsencryptz mengkonfigurasi perkhidmatan temporal untuk menjadikan file ini dapat diakses dari Internet (ladang WebhostingRedirect akan diubah suai untuk tujuan ini. Sekiranya tidak ada ladang sudah dikonfigurasikan letsencryptz akan membuat satu temporal dalam VIP dan Port ini).
6. Sebaik sahaja letsencryptz mengesahkan penciptaan perkhidmatan sementara, Lens Encrypt servers mengesahkan bahawa fail pengesahan temporal telah dibuat dan HASH kandungan adalah betul.
7. Akhirnya, pelayan Let's Encrypt membalas permintaan pertama dengan sijil yang telah dibuat untuk Nama yang selalu digunakan (CN) test1.relianoid.com.
8. RELIANOID akan menyimpan sijil yang telah dibuat dalam laluan tempatan /usr/local/relianoid/config/ dan ia bersedia untuk dikonfigurasikan di ladang WebHosting.
Pada peringkat ini, sijil Let's Encrypt baru akan digunakan untuk perkhidmatan maya HTTPS.
Mari Enkripsi Perintah Automasi #
Seperti yang diterangkan, letsencryptz skrip akan mengautomasikan tindakan yang diperlukan untuk menguruskan sijil SSL anda seperti membuat, memperbaharui, memusnahkan atau menyenaraikan, antara lain. Cari di bawah arahan yang ada.
root@zva6k:~# letsencryptz letsencryptz perihalan: letsencryptz ialah pembalut let's encrypt (certbot) dengan parameter minimum sedia untuk mengurus sijil Let's Encrypt untuk profil https Relianoid. Ambil kira bahawa pembungkus ini menggunakan ciri webroot certbot supaya orang awam Mari menyulitkan seni bina memerlukan untuk menyambung dengan IP Maya tempatan dan port (TCP 80 secara lalai) untuk melakukan pengesahan permintaan untuk domain yang diminta, jadi sebaik sahaja param "mendapatkan" digunakan, skrip ini akan mengkonfigurasi ladang HTTP yang akan diakses oleh Let's encryption secara automatik, memastikan port ini menggunakan skrip ini secara automatik untuk pengesahan, konfigurasi IP ini digunakan secara automatik. 80 tidak digunakan oleh mana-mana ladang seimbang beban lain, dan juga memastikan bahawa resolusi DNS untuk domain yang diminta boleh dicapai daripada sistem penyulitan let's.
penggunaan: /usr/local/relianoid/bin/letsencryptz tindakan: --mendapatkan | --musnahkan | --perbaharui | --senarai | --listconf | --help --obtain: Minta Sijil baharu menggunakan modul webroot cert-bot.
arahan: --vip --ladang --domain --domain --domain --test --vip: IP Maya yang telah dikonfigurasikan adalah untuk menerbitkan pelayan web sementara, ini akan disambungkan dengan mari menyulitkan pelayan awam untuk mengesahkan permintaan sijil. IP Maya mestilah percuma pada port 80 untuk terikat dengan proses tempatan, jika ia tidak percuma maka gunakan --farm sebagai gantinya.
--farm: Nama ladang yang mengkonfigurasi Perkhidmatan sementara yang dipanggil "letsencryptz", jika tiada ladang digunakan, ladang temporal yang dipanggil "letsencryptRelianoid" akan dikonfigurasikan dalam IP Maya yang dipilih.
--domain: Domain yang meminta Sijil untuk, iaitu www.mycompany.com.
--test: Parameter pilihan, jika digunakan sijil diminta untuk tujuan ujian.
--musnahkan: Batal dan padamkan Nama Sijil yang ditunjukkan, tindakan ditolak jika sijil yang diberikan sedang digunakan oleh ladang.
arahan: --certname --certname: Nama Sijil, nilai ini boleh diperolehi daripada tindakan --list.
--renew: Perbaharui sijil yang hampir tamat tempoh, tiada arahan yang diperlukan arahan: --test --forcerestart --vip --ladang --test: Parameter pilihan, jika digunakan larian kering dilaksanakan, pembaharuan sijil disimulasikan.
--forcerestart: Parameter pilihan, jika digunakan ladang yang menggunakan sijil yang diperbaharui akan dimulakan semula untuk menggunakan perubahan.
--vip: IP Maya telah dikonfigurasikan tempat untuk menerbitkan pelayan web sementara, ini akan disambungkan dengan mari menyulitkan pelayan awam untuk mengesahkan pembaharuan sijil. IP Maya mestilah percuma pada port 80 untuk terikat dengan proses tempatan, jika ia tidak percuma maka gunakan --farm sebagai gantinya.
--farm: Nama ladang yang mengkonfigurasi Perkhidmatan sementara yang dipanggil "letsencryptz", jika tiada ladang digunakan, ladang temporal yang dipanggil "letsencryptRelainoid" akan dikonfigurasikan dalam IP Maya yang dipilih.
--list: Senaraikan semua sijil tempatan yang diuruskan oleh let's encrypt dan status, tiada arahan diperlukan.
--listconf: SenaraikanRELIANOID
Ia akan memakan masa pertama kali letencryptz dijalankan kerana sistem akan memasang dependensi yang tidak dapat diselesaikan secara automatik, juga tinjauan konfigurasi dilakukan sebelum mula menggunakannya, Let's Encrypt meminta akaun e-mel atau tujuan hubungan yang berkaitan dengan sijil, akaun e-mel ini akan digunakan sepanjang tindakan yang dilakukan terhadap sistem Let's Encrypt, e-mel ini dapat dikonfigurasi dalam fail konfigurasi utama /usr/local/relianoid/config/global.conf, arahan $ le_email.
Beberapa contoh penggunaan ditunjukkan di bawah.
RELIANOID Mari Sulitkan penciptaan sijil #
Perintah ini meminta sijil baru untuk domain test2.relianoid.com. Perhatikan bahawa VIP yang diberikan akan menjadi yang dalaman, lalu lintas mana yang harus dilampirkan dari IP awam ke yang dalaman. Sekiranya Let's Encrypt tidak dapat mencapai perkhidmatan ini, permintaan akan ditolak.
root@zva6k:~# letsencryptz --obtain --vip 192.168.101.31 --domain test2.relianoid.com AMARAN: Tiada nama ladang dinyatakan, ladang temporal dengan nama letsencryptRelianoid akan dibuat dalam VIP 192.168.101.31 port 80. Mengkonfigurasi Sijil Nama domain untuk pengesahan ladang Ob test2.relianoid.com... Menyimpan log nyahpepijat ke /var/log/letsencrypt/letsencrypt.log Plugin dipilih: Authenticator webroot, Installer None Mendapatkan sijil baharu Laluan bukan standard, mungkin tidak berfungsi dengan crontab yang dipasang oleh pengurus pakej sistem pengendalian anda Permintaan Sijil untuk domain(s) test2.relianoid.com OK Pembuatan nama Sijil.com2. konfigurasi webroot untuk ladang letsencryptRelianoid Memadam konfigurasi yang sudah untuk letsencryptRelianoid, perkhidmatan letsencryptz Memulakan semula ladang menggunakan sijil yang diperbaharui:
RELIANOID Mari Sulitkan penyenaraian sijil #
Pelaksanaan arahan ini akan menunjukkan sijil semasa yang diuruskan oleh RELIANOID Sistem Mari Sulitkan.
root@zva6k:~# letsencryptz --list Menyenaraikan semua sijil yang tersedia untuk konfigurasi semasa dalam config dir /usr/local/relianoid/config/letsencrypt/ Menyimpan log debug ke /var/log/letsencrypt/letsencrypt.log Nama Sijil: test1.relianoid.com Domain(s): test1.relianoid.com Tarikh Luput2019-09-19 10:48:02+00:00 (SAH: 77 hari) Fail Sijil Pem: /usr/local/relianoid/config/test1_relianoid_es.pem Nama Sijil: test3.relianoid.com Domain(s): test3.relianoid.com Tarikh Luput: 2019-09-26 06+VAL: 32-52-00 00:83 ID: 3:XNUMX ID fail: /usr/local/relianoid/config/testXNUMX_relianoid_es.pem
Pertimbangkan Bidang Nama Sijil, bidang ini akan diiktiraf oleh pembalut letsencryptz sebagai - nama pengguna.
RELIANOID Mari Sulitkan pembaharuan sijil #
Pemeriksaan sebelum ini jika ada sijil yang sudah dihasilkan memerlukan pembaharuan, dalam hal ini pembaharuan akan dilakukan secara otomatis. Sila ambil perhatian bahawa jika sijil yang diperbaharui digunakan dalam pemulihan ladang akan diperlukan untuk menerapkan perubahan, sila gunakan pilihan –Untuk memulakan jika anda mahu letsencryptz mulakan semula semua ladang yang diperlukan untuk memohon perubahan.
root@zva6k:~# letsencryptz --renew --vip 192.168.101.31 Memperbaharui semua sijil yang diperlukan Menyimpan log nyahpepijat ke /var/log/letsencrypt/letsencrypt.log Sijil belum perlu diperbaharui.
RELIANOID Mari Sulitkan pemadaman sijil #
Perintah ini membatalkan dan memadamkan perakuan yang diberikan. Sekiranya sistem mengesan bahawa sijil yang dipilih sedang digunakan oleh mana-mana ladang HTTPS, tindakan itu akan ditolak, dalam contoh di atas tindakan padam ditolak kerana sijil digunakan oleh ladang testhttps.
root@zva6k:~# letsencryptz --destroy --certname test3.relianoid.com Membatalkan dan memadam sijil test3.relianoid.com untuk konfigurasi semasa... Fail ini tidak boleh dipadamkan kerana digunakan oleh ladang: testhttps
Sebaik sahaja perakuan itu tidak ditugaskan dari ladang, tindakan itu akan dilakukan:
root@zva6k:~# letsencryptz --destroy --certname test3.relianoid.com Membatalkan dan memadam sijil test3.relianoid.com untuk konfigurasi semasa... Menyimpan log nyahpepijat ke /var/log/letsencrypt/letsencrypt.log Sijil yang dipadamkan test3.relianoid.com dalam laluan /usr_relianoid.com dalam laluan /usr_relianoid/loconfig.
Berhijrah Mari Sulitkan Sijil ke RELIANOID #
RELIANOID Pengimbang beban menyimpan semua fail konfigurasi certbot di jalan setempat / usr / local / zevenet / config / letsencrypt /. Untuk memindahkan fail konfigurasi certbot anda yang sedia ada (secara lalai dalam / etc / letsencrypt) daripada Pelayan lain kepada RELIANOID, anda hanya perlu membuat tarball (fail tar.gz) bagi direktori konfigurasi sedia ada ini dalam pelayan anda dan nyahmampatkan kandungan dalam RELIANOID Mari Sulitkan laluan konfigurasi. Akhir sekali, pertimbangkan untuk mengubah suai pembolehubah $ le_email dalam fail global.conf ke email yang sama yang digunakan dalam permintaan sebelumnya.
Mari Encrypt Sijil Penggabungan sokongan #
RELIANOID Pemalam Let's Encrypt disokong sepenuhnya dengan RELIANOID Perkhidmatan kluster. Semua tindakan Let's Encrypt disimpan dalam fail konfigurasi yang direplikasi oleh RELIANOID Perkhidmatan Kluster, jadi sebarang tindakan yang dilaksanakan dalam MASTER nod akan direplikasi kepada SLAVE nod secara automatik, tetapi apa-apa tindakan yang dilaksanakan di SLAVE nod yang berkaitan dengan Let's Encrypt akan dibuang untuk mengelakkan penyah sinkronisasi.
Mari Encrypt sijil pembaharuan automatik #
RELIANOID Plugin Let's Encrypt boleh dikonfigurasikan untuk menyemak setiap hari jika beberapa sijil memerlukan pembaharuan, sekiranya sistem memperbaharui secara automatik sijil yang diberikan dan ia digunakan oleh sesetengah ladang, maka ladang akan dimulakan semula secara automatik untuk memohon sijil ubah.
Untuk mengkonfigurasi pembaharuan automatik sila lakukan perkara berikut:
Buat fail cron berikut /etc/cron.d/letsencryptz dengan kandungan berikut:
root@zva6k:~# cat /etc/cron.d/letsencryptz 00 00 * * * root /usr/local/relianoid/bin/letsencryptz --renew --forcerestart --vip 192.168.101.31
Dengan konfigurasi ini, pemeriksaan pembaharuan akan dilakukan setiap hari pada pukul 00:00 (tengah malam). Dan VIP 192.168.101.31 akan digunakan di port 80 untuk tujuan pengesahan dari Let's Encrypt System.
Rujukan #
Beberapa rujukan yang digunakan dalam artikel ini adalah:
Webroot dan Certbot
Bagaimana Mari Enkripsi Berfungsi
