Cara Mengamankan Nginx Dengan Let's Encrypt pada Ubuntu dan Debian
- 2853
- 123
- Chris Little I
Berikutan sebelumnya Mari enkripsi tutorial mengenai Apache SSL, Dalam artikel ini kita akan membincangkan cara menjana dan memasang sijil SSL/TLS percuma yang dikeluarkan oleh Mari enkripsi ca untuk Nginx webserver pada Ubuntu atau Debian.
Juga baca
- Selamat Apache dengan percuma mari enkripsi di Ubuntu dan Debian
- Pasang mari enkripsi SSL untuk mengamankan Apache pada RHEL dan CentOS
Persekitaran Sampel Menguji
Pasang Lets Encrypt untuk menjamin nginx di Ubuntu dan DebianKeperluan
- Domain berdaftar dengan DNS yang sah
A
Rekod untuk menunjuk kembali ke alamat IP pelayan anda. - Pelayan web nginx yang dipasang dengan SSL dan VHOST yang diaktifkan, sekiranya anda merancang untuk menjadi tuan rumah pelbagai domain atau subdomain.
Langkah 1: Memasang pelayan web nginx
1. Pada langkah pertama pasang pelayan web nginx, jika tidak dipasang, dengan mengeluarkan arahan di bawah:
$ sudo apt-get pemasangan nginxPasang pelayan web nginx di Ubuntu 14.04 dan Debian 8
Langkah 2: Menjana sijil SSL Let's Encrypt untuk Nginx
2. Sebelum menjana sijil SSL/TLS percuma, pasang Mari enkripsi perisian dalam /usr/tempatan/
hierarki sistem fail dengan bantuan git pelanggan dengan mengeluarkan arahan di bawah:
$ sudo apt -get -y install git $ cd/usr/local/$ sudo git clone https: // github.com/letsencrypt/letsencrypt
3. Walaupun prosedur mendapatkan sijil untuk Nginx adalah automatik, anda masih boleh membuat dan memasang sijil SSL percuma secara manual untuk Nginx menggunakan plugin Let's Encrypt Standalone.
Kaedah ini memerlukan pelabuhan itu 80 tidak boleh digunakan pada sistem anda untuk jangka masa yang singkat sementara mari enkripsi klien mengesahkan identiti pelayan sebelum menjana sijil.
Sekiranya anda menjalankan nginx, hentikan perkhidmatan dengan mengeluarkan arahan berikut.
$ sudo perkhidmatan nginx berhenti atau $ sudo systemctl stop nginx
Sekiranya anda menjalankan perkhidmatan lain yang mengikat pelabuhan 80 Hentikan perkhidmatan itu juga.
4. Sahkan pelabuhan itu 80 bebas dengan menjalankan perintah Netstat:
$ sudo netstat -tlpn | grep 80Periksa port mendengar semasa di Linux
5. Sekarang sudah tiba masanya untuk dijalankan Letsencrypt
Untuk mendapatkan sijil SSL. Pergi ke Mari enkripsi Direktori pemasangan yang terdapat di /usr/local/letsencrypt laluan sistem dan jalankan Letsencrypt-auto perintah dengan menyediakan certianya --mandiri
pilihan dan -d
bendera untuk setiap domain atau subdomain anda ingin menjana sijil.
$ cd/usr/local/letsencrypt $ sudo ./letsencrypt -auto certionly -standalone -d your_domain.tldDapatkan mari enkripsi sijil SSL
6. Masukkan alamat e -mel yang akan digunakan oleh Let's Encrypt untuk kehilangan pemulihan utama atau notis segera.
Masukkan alamat email7. Setuju dengan terma lesen dengan menekan kekunci Enter.
Terima perjanjian letsencrypt8. Akhirnya, jika semuanya berjaya, mesej yang serupa dengan tangkapan skrin di bawah harus muncul di konsol terminal anda.
LetsEncrypt selesai selesaiLangkah 3: Pasang mari enkripsi sijil SSL di nginx
9. Sekarang bahawa sijil SSL anda telah dijana adalah masa untuk mengkonfigurasi Nginx Webserver untuk menggunakannya. Sijil SSL yang baru diletakkan di /etc/letsencrypt/live/
di bawah direktori yang dinamakan sempena nama domain anda. Jalankan arahan LS untuk menyenaraikan fail sijil yang dikeluarkan untuk domain anda.
$ sudo ls/etc/letsencrypt/live/$ sudo ls -al/etc/letsencrypt/live/caeszar.TkSijil SSL LetsEncrypt
10. Seterusnya, buka /etc/nginx/laman web yang tersedia/lalai
Fail dengan editor teks dan tambahkan blok berikut selepas baris yang dikomentari pertama yang menentukan permulaan blok SSL. Gunakan tangkapan skrin di bawah sebagai panduan.
$ sudo nano/etc/nginx/sites-enabled/lalai
Petikan Blok Nginx:
# Konfigurasi SSL # Dengar 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
Gantikan nilai nama domain untuk sijil SSL dengan sewajarnya.
11. Pada langkah seterusnya menjana kuat Diffie-Hellman cipher dalam /etc/nginx/ssl/ direktori untuk melindungi pelayan anda terhadap Logjam serangan dengan menjalankan arahan berikut.
$ sudo mkdir/etc/nginx/ssl $ cd/etc/nginx/ssl $ sudo openssl dhparam -out dhparams.PEM 2048Menjana diffie hellman cipher untuk nginx
12. Akhirnya, mulakan semula daemon nginx untuk mencerminkan perubahan.
$ sudo systemctl mulakan semula nginx
dan uji sijil SSL anda dengan melawat URL di bawah.
https: // www.ssllabs.com/ssltest/analisis.htmlSemak nginx membolehkan menyulitkan sijil SSL
Langkah 4: Pembaharuan Auto Let's menyulitkan sijil nginx
13. Sijil yang dikeluarkan oleh Mari enkripsi ca sah selama 90 hari. Untuk memperbaharui fail secara automatik sebelum tarikh luput SSL-diperbaharui.sh
Skrip bash masuk /usr/tempatan/bin/
direktori dengan kandungan berikut.
$ sudo nano/usr/local/bin/ssl-renew.sh
Tambahkan kandungan berikut ke SSL-diperbaharui.sh
fail.
#!/bin/bash cd/usr/local/letsencrypt sudo ./letsencrypt-auto certonly -a webroot --agree-tos --drenew-by-default --webroot-path =/var/www/html/-d your_domain.TLD sudo Systemctl Reload nginx Exit 0Auto Renew Nginx membolehkan menyulitkan sijil SSL
Ganti --Webroot-Path
pemboleh ubah untuk memadankan akar dokumen nginx anda. Pastikan skrip boleh dilaksanakan dengan mengeluarkan arahan berikut.
$ sudo chmod +x/usr/local/bin/ssl-renew.sh
14. Akhir.
$ sudo crontab -e
Tambahkan baris berikut di bahagian bawah fail.
0 1 1 */2 */usr/local/bin/ssl-renew.sh >>/var/log/your_domain.tld-renew.Log 2> & 1Kemas kini membolehkan menyulitkan sijil SSL
Itu sahaja! Pelayan Nginx anda kini melayani kandungan SSL menggunakan percuma Mari enkripsi SSL sijil.
- « Cara Memasang Pelayan dan Pelanggan NTP di Ubuntu
- Cara Memasang Openssh 8.0 pelayan dari sumber di linux »