Cara Set Up “Let’s Encrypt” Free SSL Certificate di Nginx (Ubuntu)

Cara Set Up “Let’s Encrypt” Free SSL Certificate di Nginx (Ubuntu) | Jika Anda telah membaca banyak artikel tentang tips privasi, Anda pasti akan menemukan tips yang meminta Anda untuk menginstal “HTTPS dimana-mana” sehingga secara otomatis akan mengarahkan Anda ke versi website ekstensi HTTPS bila memungkinkan. Hal yang buruk adalah ekstensi HTTPS di mana-mana hanya bekerja jika situs yang Anda kunjungi telah menerapkan SSL, dan untuk sebagian besar webmaster, ini bisa menjadi tugas yang sulit (dan mahal) dengan sendirinya. Untungnya, dengan Let’s Encrypt, lebih mudah bagi webmaster untuk menambahkan sertifikat SSL untuk situs mereka sekarang.

Di masa lalu (dan saat ini), menyiapkan sertifikat SSL mengharuskan Anda untuk pertama menghasilkan kunci pribadi pada server Anda, kemudian membeli sertifikat SSL dari Certificate Authority (yang mahal), dan terakhir, mengaturnya di server . Ada banyak teknis yang terlibat dalam proses, dan tidak melakukannya dengan benar akan membuat sertifikat SSL tidak berguna. Dengan proyek Let’s Encrypt, kita dapat dengan cepat menambahkan sertifikat SSL untuk situs mereka tanpa biaya apapun. Dan yang didukung oleh pemain industri besar seperti Mozilla, Akamai, Cisco, EFFIf Anda dan Google, didukung oleh kebanyakan browser dan sistem operasi.

Dalam tutorial ini kita akan pergi melalui langkah-langkah untuk mengatur sertifikat SSL Let’s Encrypt di server Nginx. Kami menggunakan server Ubuntu 14.04 untuk tutorial ini kami menganggap Anda menggunakan Server Nginx Ubuntu. instruksi mungkin berbeda untuk Ubuntu 16.04 Server.

Cara Set Up "Let’s Encrypt" Free SSL Certificate di Nginx (Ubuntu)

Install Let’s Encrypt

Pertama, untuk menginstal Let’s Encrypt, Anda akan perlu git untuk mengkloning dari repositori git nya. Menginstal git dengan perintah berikut:

sudo apt-get install git bc

Setelah terinstal, mengkloning Let’s Encrypt’s repository ini:

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Menyiapkan environment

Sebelum kita lanjutkan untuk menginstal dan mengatur sertifikat SSL, penting untuk memungkinkan akses ke folder di direktori web root. Secara default, semua file dan folder dengan “.” Di depan nama file yang tersembunyi dan tidak dapat diakses oleh publik. Namun, dalam hal ini kita perlu memberikan izin bagi publik untuk mengakses folder, karena ini adalah di mana Let’s Encrypt akan menyimpan file khusus untuk validasi.

Lanjutkan ke folder situs konfigurasi Nginx Anda dan membukanya (jika Anda memiliki file konfigurasi kustom untuk situs Anda) atau menggunakan default:

cd /etc/nginx/sites-available
sudo nano default

Tambahkan baris berikut di blok server:

location ~ /\.well-known {
 allow all;
}

Save (Ctrl + O) dan close (Ctrl + x) file konfigurasi.

Menguji konfigurasi Nginx Anda:

sudo nginx -t

Jika semua konfigurasi bekerja dengan baik, reload konfigurasi:

sudo service nginx reload

Menghasilkan Sertifikat SSL

Sekarang bahwa Anda selesai dengan konfigurasi Nginx, hal selanjutnya adalah memasang sertifikat SSL.

Pergi ke folder Let’s Encrypt :

cd /opt/letsencrypt

Jalankan perintah berikut untuk menghasilkan sertifikat:

./letsencrypt-auto certonly -a webroot --webroot-path=/usr/share/nginx/html -d example.com

Ada beberapa hal yang perlu berubah di sini :

  • Mengubah webroot-path ke root dokumen situs Anda. default adalah “/user/share/nginx/html,” tapi konfigurasi Anda mungkin berbeda.
  • Ganti “example.com” untuk nama domain Anda sendiri. Apakah dicatat bahwa “example.com” dan “www.example.com” adalah dua domain yang berbeda. Jika Anda ingin sertifikat untuk mendukung beberapa domain, cukup tambahkan -d example1.com ke akhir perintah. Misalnya, untuk mendirikan sebuah sertifikat SSL untuk domain “example.com”, “www.example.com”, “example1.com” dan “www.example1.com,” gunakan perintah berikut :
/letsencrypt-auto certonly -a webroot --webroot-path=/usr/share/nginx/html -d example.com -d www.example.com -d example1.com -d www.example1.com

saat pertama jalankan script akan menginstal banyak file Python dalam sistem Anda. Setelah itu dilakukan, ia akan mulai proses generasi sertifikat. Pertama ia akan meminta alamat email Anda :

Cara Set Up "Let’s Encrypt" Free SSL Certificate di Nginx (Ubuntu)

Setelah itu Anda akan diminta untuk membaca Ketentuan Layanan di website Let’s Encrypt. Pilih “Agree.”

Cara Set Up "Let’s Encrypt" Free SSL Certificate di Nginx (Ubuntu)
Anda akan melihat pesan berikut :

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/example.com/fullchain.pem. Your cert
   will expire on 2016-10-02. To obtain a new or tweaked version of
   this certificate in the future, simply run letsencrypt-auto again.
   To non-interactively renew *all* of your certificates, run
   "letsencrypt-auto renew"
 - If you like Certbot, please consider supporting our work by:
 
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Itu berarti Anda telah berhasil menghasilkan sertifikat SSL untuk situs Anda. Jika bukan Anda melihat pesan kesalahan, silahkan memperbaiki kesalahan dan coba lagi.

Mengaktifkan sertifikat SSL untuk situs Anda

Sekarang bahwa Anda telah menghasilkan sertifikat SSL, sekarang saatnya untuk mengaktifkannya untuk situs Anda.

Kembali ke folder konfigurasi Nginx dan membuka file konfigurasi situs:

cd /etc/nginx/sites-available
sudo nano default

Membuat blok server baru dan tambahkan konfigurasi berikut di dalam blok :

server {
 server_name example.com www.example.com;
 
 listen 443 ssl;
 
 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}

Simpan dan tutup file tersebut.

Catatan : di atas adalah versi sederhana dari blok konfigurasi Nginx. Anda harus menambahkan di konfigurasi kustom Anda sendiri ke blok.

Terakhir, menguji konfigurasi:

sudo nginx -t

Jika semuanya baik-baik saja, Reload Nginx:

sudo service nginx reload

Itu dia. Anda telah berhasil mendirikan sebuah sertifikat SSL untuk situs Anda. Anda sekarang dapat memuat “https” versi URL Anda untuk melihatnya.

Auto-Renewing a Let’s Encrypt SSL Certificate

Tidak seperti kebanyakan sertifikat SSL komersial yang berlaku untuk minimal satu tahun, sertifikat SSL Let’s Encrypt’s ini hanya berlaku selama tiga bulan. Setelah waktu ini Anda akan harus memperbarui untuk terus menggunakannya.Let’s Encrypt’s hadir dengan pilihan memperbaharui sehingga Anda dapat dengan mudah memperbarui sertifikat Anda tanpa melalui seluruh instalasi lagi. Petunjuk berikut menunjukkan cara untuk mengatur tugas cron untuk auto-Renewing sertifikat SSL Anda.

Masih di server Anda, membuka crontab yang:

sudo crontab -e

Tambahkan baris berikut:

00 0 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
05 0 * * 1 /etc/init.d/nginx reload

Baris di atas akan memeriksa tanggal kadaluwarsa sertifikat SSL Anda setiap hari Senin di 12am dan memperbaharui mereka jika dekat dengan kadaluwarsa. Hal ini juga akan memuat ulang Nginx (di 12.05am) untuk memastikan sertifikat baru sedang digunakan.

Simpan dan tutup crontab.

Kesimpulan

Jika Anda menjalankan situs web kecil dan tertarik untuk menambahkan SSL untuk situs Anda, Let’s Encrypt adalah pilihan yang bagus untuk menambah kredibilitas situs Anda. Hal ini (relatif) mudah untuk mengatur dan tidak ada biaya (gratis), sehingga tidak ada alasan untuk tidak memanfaatkannya. Namun, karena hanya menyediakan Domain-Validated (DV) sertifikat (jenis yang paling dasar dari sertifikat SSL) untuk perusahaan-perusahaan yang membutuhkan Organisasi-Divalidasi (OV) atau Organization-Validated (OV) atau Extended-Validation (EV), sertifikat SSL komersial mungkin cara yang terbaik.

referensi dan images :

  • maketecheasier.com