Cara Mengamankan Nginx dengan Let's Encrypt on Ubuntu dan Debian
- 3925
- 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
Instal mari kita enkripsi untuk mengamankan nginx di ubuntu dan debianPersyaratan
- 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 nginxInstal Nginx Web Server di Ubuntu 14.04 dan Debian 8
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 80Periksa port mendengarkan saat ini di Linux
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.tldDapatkan Let's Encrypt SSL Certificate
6. Masukkan alamat email yang akan digunakan oleh Let's Encrypt for Lost Key Recovery atau Urgent Pemberitahuan.
Masukkan alamat email7. Setuju dengan ketentuan lisensi dengan menekan tombol enter.
Menerima perjanjian Letsencrypt8. Akhirnya, jika semuanya berhasil, pesan yang mirip dengan tangkapan layar di bawah ini akan muncul di konsol terminal Anda.
Letsencrypt Instalasi selesaiLangkah 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.tkLetsencrypt sertifikat SSL
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;Konfigurasikan Nginx untuk menggunakan Let's Encrypt SSL
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 2048Menghasilkan cipher diffie hellman untuk nginx
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.htmlPeriksa Nginx Mari Enkripsi Sertifikat SSL
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 0AUTO RENEW NGINX Memungkinkan Enkripsi Sertifikat SSL
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> & 1UPDATE memungkinkan mengenkripsi sertifikat SSL
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 »