Pasang Sertifikat Wildcard From Lets Encrypt di Nginx pada Ubuntu 19.04

Pada bulan Mac 2018 Let's Encrypt menambahkan sokongan untuk sijil wildcard. Sijil wildcard membolehkan anda mengamankan semua subdomain peringkat pertama domain dengan satu sijil. Sijil wildcard hanya boleh didapati melalui ACMEv2, yang merupakan versi terkini dari protokol ACME. Untuk menggunakan ACMEv2 untuk sijil wildcard atau bukan wildcard, anda memerlukan pelanggan yang telah dikemas kini untuk menyokong ACMEv2. Salah satu pelanggannya ialah acme.sh, yang merupakan pelanggan protokol ACME / ACMEv2 yang ditulis semata-mata dalam bahasa shell Shell (Unix) tanpa sebarang kebergantungan. Selanjutnya, domain wildcard mesti disahkan menggunakan jenis cabaran DNS-01. Ini menunjukkan bahawa anda perlu mengubah rekod TXT DNS untuk membuktikan kawalan ke atas domain untuk mendapatkan sijil wildcard.

Di dalam panduan ini, kami akan menerangkan bagaimana untuk mendapatkan dan menggunakan sijil wildcard percuma dari Let's Encrypt pada Ubuntu 19.04 dengan menggunakan acme.shklien, Alat Lexicon untuk manipulasi rekod DNS automatik dengan menggunakan Vultr API dan menyerahkan pensijilan ke pelayan web Nginx.

Keperluan

  • Pelayan awan Ubuntu 19.04 Vultr yang baru digunakan.
  • Anda mempunyai nama domain berdaftar. Panduan ini digunakan example.comsebagai domain contoh.
  • Pastikan anda telah menetapkan rekod DNS A / AAAA dan CNAME untuk Nama Domain Berkelayakan sepenuhnya (FQDN). Anda mungkin ingin merujuk kepada tutorial Pengenalan kepada Vultr DNS jika anda perlu membiasakan diri dengan konsep DNS.
  • Akses API Vultr diaktifkan di panel kawalan akaun Vultr anda.

Sebelum awak bermula

Semak versi Ubuntu.

lsb_release -ds
# Ubuntu 19.04

Buat akaun pengguna baru dengan sudoakses dan nama pengguna pilihan anda dan beralih kepadanya. Kami menggunakan johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

NOTA : Gantikan johndoedengan nama pengguna anda.

Sediakan zon waktu.

sudo dpkg-reconfigure tzdata

Pastikan sistem Ubuntu anda terkini.

sudo apt update && sudo apt upgrade -y

Pasang pakej yang diperlukan.

sudo apt install -y git wget curl socat

Pasang Nginx

Pasang pelayan web Nginx.

sudo apt install -y nginx

Semak versi.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

Pasang Python dan Lexicon

Sebagai langkah pertama dalam proses mendapatkan sijil wildcard daripada Let's Encrypt menggunakan acme.sh dan Vultr API, anda perlu memasang Python dan Lexicon . Lexicon adalah pakej Python yang menyediakan cara untuk memanipulasi rekod DNS pada beberapa pembekal DNS dengan cara tersendiri.

Pasang Python jika belum dipasang pada sistem anda.

sudo apt install -y python3

Sahkan pemasangan dengan mengesahkan versi.

python3 --version
# Python 3.7.3

Pasang alat Lexicon. Leksikon adalah alat Python yang membolehkan anda memanipulasi rekod DNS pada pelbagai pembekal DNS dengan cara tersendiri.

sudo apt install -y lexicon

Semak versi Lexicon.

lexicon --version
# lexicon 3.0.8

Pasang acme.shpelanggan

Acme.shadalah pelanggan protokol ACME yang ditulis semata-mata dalam bahasa shell Shell (Unix shell) yang mengautomasikan proses mendapatkan sijil yang ditandatangani melalui Let's Encrypt. Ia menyokong ACME v1 dan ACME v2, dan yang paling penting ia menyokong pensijilan wildcard ACME v2. Dalam bahagian ini, kami memasang skrip Acme.sh.

CATATAN: Sebaiknya gunakan rootpengguna untuk memasang acme.sh, walaupun tidak memerlukan root/ sudomengakses.

Beralih kepada rootpengguna dari pengguna biasa jika anda telah menciptanya.

sudo su - root

Muat turun dan pasang acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd

Semak versi.

acme.sh --version
# v2.8.2

Dapatkan sijil wildcard dari Let's Encrypt

Untuk mendapatkan sijil wildcard, kami hanya boleh menggunakan kaedah pengesahan DNS. Kami menggunakan Lexicon dan Vultr DNS API untuk memanipulasi rekod DNS TXT.

Dapatkan sijil wildcard RSA dan ECC untuk domain anda.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

CATATAN : Jangan lupa ganti example.comdengan nama domain anda, dan ganti nilai placeholder API Vultr dengan yang anda miliki.

Setelah menjalankan perintah sebelumnya, sijil dan kunci anda ada di:

  • Untuk RSA: ~/.acme.sh/example.comdirektori.
  • Untuk ECC / ECDSA: ~/.acme.sh/example.com_eccdirektori.

NOTA : Anda tidak boleh menggunakan fail cert dalam ~/.acme.sh/folder, mereka hanya untuk kegunaan dalaman, struktur direktori mungkin berubah pada masa akan datang.

Untuk menyenaraikan pensijilan anda, anda boleh menjalankan:

acme.sh --list

Buat folder untuk menyimpan sijil anda dalam pengeluaran. Kami menggunakan /etc/letsencryptdirektori.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Pasang / salinan sijil untuk kegunaan pengeluaran pada pelayan anda.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Sekarang bahawa kami telah berjaya mendapatkan sijil wildcard dari Let's Encrypt, kami perlu mengkonfigurasi pelayan web Nginx. Semua sijil diperbaharui secara automatik setiap 60 hari.

Setelah memperoleh dan memasang sijil ke lokasi pilihan anda, anda boleh keluar dari rootpengguna ke sudopengguna biasa dan terus mengurus pelayan anda dengan menggunakan sudojika diperlukan.

exit

Konfigurasikan pelayan web Nginx

Jalankan sudo vim /etc/nginx/sites-available/example.com.confdan isi fail dengan kandungan berikut. Gantikan semua kejadian example.comdengan nama domain anda sendiri.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

Aktifkan example.com.confkonfigurasi baru dengan menghubungkan fail ke sites-enableddirektori.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Konfigurasi Nginx ujian.

sudo nginx -t

Muat semula Nginx.

sudo systemctl reload nginx.service

Itu sahaja. Kami menggunakan sertifikat wildcard ke Nginx, menggunakan API acme.sh, Lexicon, dan Vultr. Sijil wildcard boleh berguna apabila anda ingin mendapatkan beberapa subdomain tahap pertama yang dihasilkan secara dinamik.



Bagaimana untuk mengalih keluar kata laluan log masuk pada Windows 10

Bagaimana untuk mengalih keluar kata laluan log masuk pada Windows 10

Berikut ialah dua cara bagaimana untuk mengalih keluar kata laluan akaun pada Windows 10 apabila menggunakan akaun Microsoft atau akaun setempat.

Bagaimana untuk membuka port firewall pada Windows 10

Bagaimana untuk membuka port firewall pada Windows 10

Pada Windows 10, anda boleh dengan cepat MEMBUKA PORT dalam FIREWALL menggunakan Windows Security. Inilah cara untuk melakukannya, dan langkah-langkah untuk menutup port.

BAGAIMANA MELINDUNGI KOMPUTER DARIPADA VIRUS DAN PENGGODAM DI WINDOWS 11

BAGAIMANA MELINDUNGI KOMPUTER DARIPADA VIRUS DAN PENGGODAM DI WINDOWS 11

Pada Windows 11, anda boleh melindungi komputer anda daripada virus dan penggodam secara percuma dengan banyak alat terbina dalam. Ini semua yang anda perlu tahu.

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajar anda cara menyediakan penjara chroot di Debian. Saya menganggap bahawa anda menggunakan Debian 7.x. Sekiranya anda menjalankan Debian 6 atau 8, ini mungkin berfungsi,

Konfigurasikan Apache Dengan Sijil TLS / SSL yang Ditandatangani Sendiri di Ubuntu 16.04

Konfigurasikan Apache Dengan Sijil TLS / SSL yang Ditandatangani Sendiri di Ubuntu 16.04

SSL, dan penggantinya TLS (Secure Sockets Layer / Transport Layer Security) menambahkan lapisan enkripsi antara klien dan pelayan. Tanpa thi

Menjamin MongoDB

Menjamin MongoDB

MongoDB tidak selamat secara lalai. Sekiranya anda memasang MongoDB dan melancarkannya tanpa mengkonfigurasinya untuk pengesahan, anda akan mengalami masa yang buruk

Cara Mengaktifkan TLS 1.3 di Apache di FreeBSD 12

Cara Mengaktifkan TLS 1.3 di Apache di FreeBSD 12

Menggunakan Sistem Berbeza? TLS 1.3 adalah versi protokol Keselamatan Layer Pengangkutan (TLS) yang diterbitkan pada 2018 sebagai piawaian yang dicadangkan dalam RFC 8446

Cara Memasang rkhunter Di Ubuntu

Cara Memasang rkhunter Di Ubuntu

Rkhunter adalah perisian yang mencari rootkit pada pelayan Linux. Rootkits dipasang oleh penggodam supaya mereka sentiasa dapat mengakses pelayan. Dalam dokumen ini, anda akan b

Firewall Vultr

Firewall Vultr

Vultr menawarkan penyelesaian firewall berasaskan web yang dapat diaktifkan untuk melindungi satu atau lebih keadaan komputasi. Mempunyai set peraturan firewall untuk pelayan anda i

Cara Memasang ModSecurity untuk Nginx pada CentOS 7, Debian 8, dan Ubuntu 16.04

Cara Memasang ModSecurity untuk Nginx pada CentOS 7, Debian 8, dan Ubuntu 16.04

ModSecurity adalah modul firewall aplikasi web sumber terbuka (WAF) yang sangat bagus untuk melindungi Apache, Nginx, dan IIS dari pelbagai serangan siber yang berlanjutan

Sediakan LetsEncrypt Pada Linux

Sediakan LetsEncrypt Pada Linux

LetsEncrypt adalah pihak berkuasa sijil dengan pelanggan automatik. Ringkasnya, ini bermaksud bahawa anda dapat mengamankan laman web anda tanpa sebarang kos. Betul, anda boleh

Cara Memasang Pengimbas Kerentanan OpenVAS di Ubuntu 16.04

Cara Memasang Pengimbas Kerentanan OpenVAS di Ubuntu 16.04

Pengenalan OpenVAS adalah rangkaian sumber terbuka yang dapat digunakan untuk pengimbasan kerentanan dan pengurusan kerentanan. Ia bermaksud Open Vulnerabilit

Cara Melumpuhkan SELinux di CentOS 7

Cara Melumpuhkan SELinux di CentOS 7

SELinux, singkatan dari Security-Enhanced Linux, adalah peningkatan keselamatan pada sistem operasi Linux. Ini adalah sistem pelabelan yang menyekat banyak penyakit

Cara Memasang OSSEC HIDS pada CentOS 7 Server

Cara Memasang OSSEC HIDS pada CentOS 7 Server

Pengenalan OSSEC adalah sistem pengesanan pencerobohan berasaskan host (HIDS) sumber terbuka yang melakukan analisis log, pemeriksaan integriti, pendaftar Windows

Cara Memasang Ntopng di Ubuntu 16.04

Cara Memasang Ntopng di Ubuntu 16.04

Pengenalan Ntopng adalah alat sumber terbuka yang digunakan untuk memantau protokol rangkaian yang berbeza pada pelayan anda. Ini adalah versi origina generasi akan datang

Menggunakan Lets Encrypt pada OpenBSD 6.1

Menggunakan Lets Encrypt pada OpenBSD 6.1

Tidak perlu lagi ada orang yang perlu membuat Sijil SSL mereka sendiri kerana sekarang anda boleh mendapatkan sijil SSL yang sah dan percuma dari Let

Mari Encrypt: Migrasi Daripada TLS-SNI-01

Mari Encrypt: Migrasi Daripada TLS-SNI-01

Lets Encrypt adalah perkhidmatan percuma yang menghasilkan sijil untuk mengamankan laman web anda. Ia menyokong menjana pelbagai jenis sijil, termasuk

Cara Menyiapkan Pengesahan Dua Faktor (2FA) untuk SSH di Ubuntu 14.04 menggunakan Google Authenticator

Cara Menyiapkan Pengesahan Dua Faktor (2FA) untuk SSH di Ubuntu 14.04 menggunakan Google Authenticator

Menggunakan Sistem yang berbeza? Terdapat beberapa cara untuk masuk ke pelayan melalui SSH. Kaedah termasuk log masuk kata laluan, log masuk berasaskan kunci, dan dua fakta

Penghantaran dan Proksi Pelabuhan Menggunakan OpenSSH

Penghantaran dan Proksi Pelabuhan Menggunakan OpenSSH

Pengenalan SSH, juga dikenali sebagai Secure Shell, boleh digunakan untuk lebih daripada mendapatkan shell jauh. Artikel ini akan menunjukkan bagaimana SSH dapat digunakan untuk

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut