Cara Mengamankan Nginx dengan Let's Encrypt on Ubuntu dan Debian

- 3962
- 295
- Enrique Purdy
Mengikuti sebelumnya Mari Enkripsi tutorial tentang Apache SSL, Pada artikel ini kita akan membahas cara menghasilkan dan menginstal sertifikat SSL/TLS gratis yang dikeluarkan oleh Mari Enkripsi CA untuk Nginx server web di Ubuntu atau Debian.
Baca juga
- Amankan Apache Dengan Gratis Mari Enkripsi di Ubuntu dan Debian
- Instal Mari Enkripsi SSL Untuk Mengamankan Apache di Rhel dan Centos
Menguji lingkungan sampel

Persyaratan
- Domain terdaftar dengan DNS yang valid
A
Catatan untuk mengarah kembali ke alamat IP server Anda. - Server Web Nginx yang diinstal dengan SSL dan VHOST yang diaktifkan, jika Anda berencana untuk meng -host beberapa domain atau subdomain.
Langkah 1: Menginstal server web nginx
1. Pada langkah pertama Instal Nginx Web Server, jika belum diinstal, dengan mengeluarkan perintah di bawah ini:
$ sudo apt-get install nginx

Langkah 2: Hasilkan Let's Encrypt SSL Certificate untuk Nginx
2. Sebelum menghasilkan sertifikat SSL/TLS gratis, instal Mari Enkripsi perangkat lunak di /usr/lokal/
hirarki sistem file dengan bantuan git Klien dengan mengeluarkan perintah di bawah ini:
$ sudo apt -get -y menginstal git $ cd/usr/local/$ sudo git clone https: // github.com/letsencrypt/letsencrypt
3. Meskipun prosedur mendapatkan sertifikat untuk Nginx otomatis, Anda masih dapat secara manual membuat dan menginstal sertifikat SSL gratis untuk Nginx menggunakan plugin mandiri Encrypt Let's.
Metode ini membutuhkan port itu 80 tidak boleh digunakan pada sistem Anda untuk waktu yang singkat sementara mari kita enkripsi klien memvalidasi identitas server sebelum menghasilkan sertifikat.
Jika Anda sudah menjalankan Nginx, hentikan layanan dengan mengeluarkan perintah berikut.
$ sudo service nginx berhenti atau $ sudo systemctl stop nginx
Jika Anda menjalankan layanan lain yang berikatan di port 80 Hentikan layanan itu juga.
4. Konfirmasi port itu 80 gratis dengan menjalankan perintah netstat:
$ sudo netstat -tlpn | grep 80

5. Sekarang saatnya berlari Letsencrypt
Untuk mendapatkan sertifikat SSL. Pergi ke Mari Enkripsi Direktori Instalasi ditemukan di /usr/lokal/letsencrypt jalur sistem dan jalankan Letsencrypt-auto Perintah dengan memberikan cermat --mandiri
opsi dan -D
Bendera untuk setiap domain atau subdomain Anda ingin menghasilkan sertifikat.
$ CD/usr/local/letsencrypt $ sudo ./letsencrypt -auto cermat -standalone -d your_domain.tld

6. Masukkan alamat email yang akan digunakan oleh Let's Encrypt for Lost Key Recovery atau Urgent Pemberitahuan.

7. Setuju dengan ketentuan lisensi dengan menekan tombol enter.

8. Akhirnya, jika semuanya berhasil, pesan yang mirip dengan tangkapan layar di bawah ini akan muncul di konsol terminal Anda.

Langkah 3: Instal Let's Encrypt SSL Certificate di Nginx
9. Sekarang karena sertifikat SSL Anda telah dihasilkan adalah waktu untuk mengonfigurasi server web nginx untuk menggunakannya. Sertifikat SSL yang baru ditempatkan /etc/letsencrypt/live/
di bawah direktori yang dinamai nama domain Anda. Jalankan perintah LS untuk mendaftar file sertifikat yang dikeluarkan untuk domain Anda.
$ sudo ls/etc/letsencrypt/live/$ sudo ls -al/etc/letsencrypt/live/caeszar.tk

10. Selanjutnya, buka /etc/nginx/situs-tersedia/default
file dengan editor teks dan tambahkan blok berikut setelah baris berkomentar pertama yang menentukan awal blok SSL. Gunakan tangkapan layar di bawah ini sebagai panduan.
$ sudo nano/etc/nginx/situs-diable/default
Kutipan Nginx Block:
# Konfigurasi SSL # Dengarkan 443 SSL Default_Server; ssl_certificate/etc/letsencrypt/live/caeszar.TK/Fullchain.PEM; ssl_certificate_key/etc/letsencrypt/live/caeszar.tk/privkey.PEM; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; ssl_dhparam/etc/nginx/ssl/dhparams.PEM;

Ganti nilai nama domain untuk sertifikat SSL yang sesuai.
11. Pada langkah berikutnya menghasilkan yang kuat Diffie-Hellman Cipher di /etc/nginx/ssl/ direktori untuk melindungi server Anda dari Kemacetan Serang dengan menjalankan perintah berikut.
$ sudo mkdir/etc/nginx/ssl $ cd/etc/nginx/ssl $ sudo openssl dhparam -out dhparams.PEM 2048

12. Akhirnya, restart daemon nginx untuk mencerminkan perubahan.
$ sudo systemctl restart nginx
dan uji sertifikat SSL Anda dengan mengunjungi URL di bawah ini.
https: // www.ssllabs.com/ssltest/analisis.html

Langkah 4: Auto Renew Let's Encrypt Nginx Sertifikat
13. Sertifikat yang dikeluarkan oleh Mari Enkripsi CA berlaku selama 90 hari. Untuk memperbarui file secara otomatis sebelum tanggal kedaluwarsa SSL-Renew.SH
naskah bash di /usr/lokal/bin/
direktori dengan konten berikut.
$ sudo nano/usr/local/bin/ssl-renew.SH
Tambahkan konten berikut ke SSL-Renew.SH
mengajukan.
#!/bin/bash cd/usr/lokal/letsencrypt sudo ./letsencrypt-auto certonly -se webroot --agree-tos --renew-by-default --webroot-path =/var/www/html/-d your_domain.tld sudo systemctl reload nginx keluar 0

Ganti --Webroot-path
variabel agar sesuai dengan root dokumen nginx Anda. Pastikan skrip dapat dieksekusi dengan mengeluarkan perintah berikut.
$ sudo chmod +x/usr/local/bin/ssl-renew.SH
14. Akhirnya tambahkan pekerjaan cron untuk menjalankan skrip setiap dua bulan di tengah malam untuk memastikan bahwa sertifikat Anda akan diperbarui dalam waktu sekitar 30 hari sebelum berakhir.
$ sudo crontab -e
Tambahkan baris berikut di bagian bawah file.
0 1 1 */2 */usr/local/bin/ssl-renew.sh >>/var/log/your_domain.TLD-RFEREW.LOG 2> & 1

Itu dia! Server Nginx Anda sekarang melayani konten SSL menggunakan gratis Mari Enkripsi SSL sertifikat.
- « Cara menginstal server ntp dan klien di ubuntu
- Cara menginstal openssh 8.0 server dari sumber di linux »