Kirta bisa Mengaplikasikan sertifikat SSL (security Socket Layer) yang menggunakan protokol HTTPS di webserver Nginx OS Linux debian 7 dengan memanfaatkan layanan sertifikasi gratis yang dikeluarkan Let’s Encrypt yang semakin mudah dengan bantuan software fihak ketiga yaitu Certbot
.
Tak terasa semenjak tahun 2012 hingga saat ini 2018, spiderbeat sudah berumur sekitar 6 tahun. Seiring dengan perkmbangan teknologi informasi khususnya website, menggunakan protokol HTPPS/SSL sepertinya sudah seperti keharusan. sehingga saya merasa perlu untuk migrasi protokol http://www.spiderbeat.com ke https://www.spiderbeat.com. Kalau jaman dulu, SSL memang masih diadopsi oleh web transaksional maupun web yang mengelola data penting dan sensitif seperti perbankan; hal ini sesuai dengan fungsi SSL itu sendiri yaitu enskripsi data keluar masuk server dan klien agar tidak dapat dimodifikasi atau disadap pihak luar yang berniat tidak baik.
Nah lalu adakah manfaat untuk blog atau web yang tidak mengelola data sensitif seperti halnya web keuangan? Ternyata HTTPS saat ini juga penting untuk web atau personal blog yang berbasis artikel. Google sendiri sangat menyarankan untuk melakukan perubahan ini, karena menurut mesin pencari terbesar didunia ini, SSL juga banyak manfaatnya khusus yang monetise web dengan cara menampilkan iklan seperti google adsense; terutama agar laman web tak bisa di injeksi provider seluler yang suka pasang iklan popup tanpa ijin sehingga bisa meningkatklan potensi pendapatan.
Berikut Cara Mudah Install intstal SSL gratis Letsencrypt via Certbot server Nginx debian 7
Pengenalan
Letsencrypt adalah sertifikat SSL yang disediakan oleh lembaga atau yasyasan yang bernama Internet Security Research Group (ISRG). Apa saja sih keuntugannya?
Free For All:Dengan lets encrypt, tentu saja manfaat yang paling utama adalah gratis selamanya khususnya bagi saya. Dan saat ini sudah versi stabil, alias sudah siap dipakai tanpa khawatir ada bug lagi.
Mudah diinstall:Cara mendapatkannya sangat mudah, bahkan instalasinya lebih mudah daripada sertifikat berbayar yang disediakan oleh beberapa afiliasi ; terutama jika kamu menggunakan webserver sendiri misalnya VPS. Khusus dalam hal ini kita bisa memanfaatkan software pihak ketiga yang secara resmi sudah bekerja dengan lets encrypt yaitu certbot.
Mendukung untuk banyak domain sekaligus: Jika kamu punya banyak domain dalam satu server VPS, maka dengan lets encrypt dan certbot akan memungkinkan untuk sekali install dan hanya menggunakan satu file sertifikat kunci untuk semua domain.
Mendukung semua browser: Meskipun gratis, lets encrypt sudah mendukung hampir semua browser baik yang sudah jadul atau yang modern.
Namun ada sedikit kelemahan, yaitu masa kadaluarsa sertifikatnya hanya 90 hari. Tapi tak perlu khawatir karena disisi lain, ada fitur untuk memperbaharuinya secara otomatis dan bisa dijadwal dengan cron job. Kelemahan lain, tentu saja kamu harus menyediakan ruang untuk menyimpan sofware certbot dan semua alat yang dibutuhkan untuk menggenerate sertifikat lets encrypt.
Baca juga : Agar Loading Blog WordPress Cepat
Oke, karena saya menggunakan Nginx dan debian 7 serta Certbot, maka disini saya hanya akan sharing apa yang sudah saya kerjakan. Kalau pada masa lalu mungkin orang masih menggunakan git dan instal let encrypt secara manual, tapi semenjak 2017 dimana sudah ada certboot, yaitu aplikasi gratis buatan EEF yang memudahkan semua pekerjaan kita untuk instalasi SSL gratis dari letsencrypt tersebut. Baiklah, arena saya menggunakan debian, maka saya menggunakan perintah berikut ini:
1. Menginstall Certbot
Menggunakan script certbot auto untuk mendapatkan versi terbaru, pertama install software certbot dari EFF.org :
wget https://dl.eff.org/certbot-auto
Lanjutkan dengan command
chmod a+x certbot-auto
2. Menggenerasi sertifikat dari lets encrypt
Perintah:
./certbot-auto --nginx certonly
Dengan menggunakan perintah tersebut, kita hanya perlu secara otomatis yang bisa mencakup semua domain yang berada dalam satu server asalkan sudah terkoneksi DNS domainnya di VPS. Setelah perintah itu kamu eksekusi, nanti akan timbul beberapa pertanyaan yaitu termasuk :
92.6 MB of additional disk space will be used. Doyou want to continu [Y/n]. Y
Enter email adress: Isi dengan email kamu, dimana nanti kamu akan mendapat pemberitahuan jika ada masalah pada sertifikat termasuk ketika sudah kadaluarsa
(A) agree )/C) Cancel. Isi A
Would you be willing to share your email blablabla.. (Y)es/(N)o. Isi n
Which name would you like to activate HTTPS for?.. Nah, pertanyaan ini kamu disuruh mengisi mana domain yang kamu inginkan untuk menjadi SSL dalam server kamu. Berikan no urut domain yang kamu kehendaki untuk diaktifkan sebagai https, atau biarkan kosong apabila kamu ingin semua domain tercantum. Saran: Masukkan domain kamu baik versi www maupun tanpa www.
Setela itu akan muncul sertifikat kamu yang sudah diterbitkan, dan kamu hanya tinggal mempersiapkan konfigurasinya dan memasukkannya di serverblok nginx sebagai contoh di bagian akhir artikel ini. Beikut ss-nya, copy jangan sampai lupa dan simpan di txt, supaya nanti tidak bingung karena lupa dimana tadi letak sertifikatnya hehe.
3. Pembaruan sertifikat
Jika sertifikat kadaluarsa, maka blog kamu jika diakses akan menampilkan halaman popup dan tentu saja yang bisa membuat visitor pada kabur. Nah agar tidak kadaluarsa, sertifikat kamu perlu diperbaharui setiap 90 hari sekali. nanti ada pesan yang datang melalui email untuk memperbaruinya, maka langsung saja masuk konsol putty dan mengeksekusi perintah untuk pembaruannya.
Ini perintah untuk mengujinya apakah sudah bekerja dengan baik atau belum, gunakan setelah kamu selesai menginstal sertifikat lets encrypt via certbot :
./certbot-auto renew --dry-run
Lalu berikut perintah pembaruannya :
./certbot-auto renew
Jika kamu menginginkan otomatis, maka kamu perlu memasang script perintah diatas di cronjob(server harus terinstal cron). Eksekusi perintah crontab -e di putty, kemudian tambahkan :
0 2 * * * ./certbot-auto renew
Itu untuk mengeksekusi perintah otomatis setiap hari jam 2. Kamu bisa mengubahnya tiap hari atau tiap 90 hari, asal jangan terlalu mepet. Untuk referensi penggunaan waktu crontab, cari referensi diluar ya.
4. Konfigurasi serverblock Nginx
Serverblock kalau di apache server adalah seperti .htaccess, dimana disitu berisi script untuk mengatur akses server. Kamu perlu mengubahnya agar protokol yang baru yaitu HTPPS bisa di akses. Pertama jika migrasi ke SSL agar tidak kehilangan visitor, maka kamu perlu membuat script redirectnya. Berikut k hanya contoh, kamu tinggal menyesuaikan dengan kebutuhan konfigurasinya yang sudah kamu buat sebelumnya yang mungkin sedikit berbeda, namun pada intinya tetap sama seperti berikut:
#Untuk redirect dari http-https
server {
listen 80;
#listen [::]:80 ipv6only=on default_server;
server_name spiderbeat.com www.spiderbeat.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
#SSL server
server {
listen 443 ssl;
server_name spiderbeat.com www.spiderbeat.com;
root /xxx/yyy/sxxxxx.com/html;
access_log /xxx/xxx/xxx/access.log;
error_log /xxx/xxxx/xxx/error.log;
#SSL CONF
ssl on;
ssl_certificate /etc/letsencrypt/live/xxxxxxxxxx.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxxxxxxxxx.com/privkey.pem;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers On;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;
index index.php index.html;
location = /favicon.ico {
log_not_found off;
access_log off;
}
5. Konfigurasi tambahan
Hanya mengingatkan saja, sebab jangan sampai lupa yaitu setelah semua konfigurasi server sudah beres jangan lupa melakukan perubahan di wordpress-nya. Masuk dashboard -> General -> Ganti http://situskamu.com dengan https://situskamu.com.
Catatan penting : Jika tulisan httpsnya ada gambar segitiga kuning jika dibukia pakai firefox atau tidak memunculkan paddock atau gembok warna hijau di chrome, artinya ada sumber daya yang tidak aman yang masih menggunakan http di web kamu. Misalnya sumberdaya luar seperti gambar atau script yang tanpa https sebagai contoh http://situs.com/gambar/gambar-rumah.jpg. Disini kamu harus telaten mencarinya, bisa menggunakan ctrl+u
untuk melacaknya dibrowser. Atau lihat script header dan footer, biasanya ada javascript atau css pihak ketiga yang belum https.
Bukan hanya sumber gambar atau script dari luar, gambar yang dihosting dalam satu domain kamu sendiri jika belum diubah menjadi https(biasanya gambar yang ditambahkan langsung dalam postingan sebelumnya), maka akibatnya juga akan sama – yaitu ssl halaman tidak valid. Hal ini berlaku pada blog lama yang dimigrasi ke HTTPS barusan.
Jika blog bukan blog baru dibuat, maka jangan lupa juga untuk merubah semua url yang dibuat didalam postingan termasuk semua tautan dan url lokasi gambar. Caranya bisa secara langsung dengan cara download tabel wp_post
melalui phpmyadmin, kemudian buka menggunakan notepad ++
untuk me-replace semua link + url gambar yang tertancap di postingan dari http
ke https
. Kamu juga bisa mereplace menggunakan plugin WP yang namanya kalau tidak salah plugin find and replace. Namun jangan lupa untuk melakukan backup database dulu ya?, soalnya kalau ada error saya tidak bertanggung jawab. Tapi cara ini bisa saja tidak dilakukan, namun sangat disarankan agar migrasi http-htpps menjadi “sempurna” , yaitu agar server tidak melakukan redirect protokol terus-menerus tiap kali ada orang yang klik tautan lama atau buka post lama yang ada gambarnya.
6. Selesai
Demikian cara membuat SSL HTTPS gratis untuk Nginx Debian menggunakan letenscrypt. Mungkin tutor ini kurang jelas dan detail, tapi jika kamu sudah akrab dengan server saya kira tak ada yang sulit. Ya memang ini adalah cara yang paling mudah kok.
Mungkin timbul pertanyaan klasik “Apakah SSL tidak berpengaruh pada SEO?… “ Wah saya tidak bisa jawab dengan pasti, nanti malah disangka mitos lagi. Namun yang jelas jika kamu sudah meredirect dengan benar, setting sertifikat sudah valid, maka saya kira tidak akan menurunkan peringkat. Mungkin dihari-hari awal agak goyang atau turun sedikit, namun berikutnya akan pulih bahkan bisa lebih banyak lagi jumlah trafiknya.
Kalau ada yang gratis kenapa tidak? Dengan hal dimaksud, maka saya dengan mantab melakukan perubahan, selain ngratis Lets Encrypt juga nyaris tidak ada kekurangan yang berarti. Coba saja kalau kamu beli sertifikat positif SSL macam ini, harganya $9 untuk 1 tahun di Namecheap, dan cara settingnya tak lebih mudah juga. Ada juga SSL gratis lain yang lebih mudah lagi, yaitu memanfaatkan layanan CDN dari Cloudflare. Tapi sayangnya, beberapa pendapat mengatakan yang versi gratis ada keterbatasan; ya iyalahh 😀 … Yaitu termasuk kadang muncul capcay, kadang down padahal server kita tidak, serta ada beberapa bowser terutama browser yang belum update terbaru tidak mendukungnya.
Artikel di Update pada Januari 23, 2018 1:39 am
View Comments (6)
Artikelnya bagus-bagus, penjelasannya gamblang. Namun untuk artikel yang ini, Cara Mudah Install SSL HTTPS Gratis CERTBOT Di NGINX Debian 7 Wheezy untuk tahap ke 4 yaitu Konfigurasi serverblock nginxnya di file mana ya kita harus inputnya? Terimakasih
Jangan pakai whezzy lagi untuk Certbot sudah EOL, dan sudah nggak didukung kayanya ,,, Ya bisa saja tapi susah :D
Mending upgrade aja debian ke versi 10 sekalian :D
Bisa tolong dibikinin artikelnya mas cara buat ssl utk debian 10. Kebetulan saya sudah coba install wp pake cara mas itu. Terimakasih
Rasanya tidak perlu lagi bikin tutorial certbot, sekarang makin mudah asal versi debian yg didukung termasuk debian 10. Silakan langsung aja lihat tutro ke websitenya : https://certbot.eff.org/lets-encrypt/debianbuster-nginx.html
Saya sudah install mas, terimakasih informasinya dan untuk di Google Search COnsole apakah kita harus add property baru yang menggunakan https? Apa biarkan saja dengan yang masih http?
Bikin lagi yang versi HTTPS