Cara Mengalihkan Koneksi HTTP ke HTTPS Pada EngineX Secara Permanen

Menurut Anda, seberapa penting koneksi aman ke situs-situs yang sering Anda kunjungi? Saya mencoba menduga-duga, Kebanyakan dari Anda akan menjawab bahwa keamanan saat mengunjungi situs-situs tertentu merupakan prioritas utama. Terutama situs-situs yang mengharuskan pengunjung memasukkan data tertentu melalui formulir yang ada.

Tutorial ini hanya berlaku saat Anda memasang EngineX sebagai web server secara native. Adapun kunci publik dan kunci privat saya dapatkan dari Let's Encrypt, layanan sertifikat otoritas yang bebas, otomatis dan terbuka. Berikut ini cara redirect (mengalihkan) koneksi HTTP ke HTTPS pada EngineX secara permanen:

Sebelum Anda melangkah lebih jauh, tentu Anda harus memasang EngineX terlebih dahulu. Berikut perintahnya:
$ sudo apt install nginx

Setelah melakukan instalasi, Anda bisa memeriksa apakah EngineX sudah berjalan dengan baik. Gunakan perintah berikut atau Anda bisa mengujinya dari peramban web.
$ sudo service nginx status

Berkas kunci publik dan privat yang dihasilkan oleh Let's Encrypt tersimpan di direktori /etc/letsencrypt/live/example.id/. Cara mendapatkan CA (certivicate authority) Let's Encrypt akan saya ulas di artikel terpisah.

Buka konfigurasi situs milik EngineX yang berada di /etc/nginx/sites-available/default dengan editor kesukaan anda.
$ sudo nano /etc/nginx/sites-available/default

Setelah terbuka, sesuaikan konfigurasi Anda dengan konfigurasi dibawah ini:
server {
listen 80;
listen [::]:80;

server_name example.id www.example.id
return 301 https://$server_name$request_uri;
return 301 https://www.$server_name$request_uri;
}

server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;

# SSL Setting
ssl on;
ssl_certificate /etc/letsencrypt/live/examle.id/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.id/privkey.pem;

# Setting default protocol
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA HIGH !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name example.id www.example.id;

}

Bagian yang teks yang berwa hijau itulah yang bertugas mengalihkan HTTP ke HTTPS. Simpan konfigurasi Anda, lalu periksa konfigurasi Anda. Berikut perintahnya:
$ sudo nginx -t

EngineX akan melakukan pemeriksaan konfigurasi Anda, jika konfigurasi anda tidak ada yang salah, EngineX akan menampilkan pesan sukses OK. Silahkan mulai ulang layanan EngineX Anda. Berikut perintahnya:
$ sudo service nginx restart

Lakukan pengecekan dengan memanfaatkan curl dari Terminal. Berikut perintahnya:
$ curl -I example.id


$ curl -I https://example.id



Sampai disini Anda telah berhasil melakukan konfigurasi cara mengalihkan koneksi HTTP ke HTTPS.

Demikian tulisan yang saya buat. Jika Anda mempunyai cara lain yang lebih efektif, saya akan merasa sangat senang bila Anda meninggalkan sumber tautan di kolom komentar ini.

Terima kasih.

Komentar

Postingan populer dari blog ini

Implementasi IPv6 TunnelBroker untuk Server WordPress Self Host

Daftar Rekomendasi Repositori Lokal Debian 11 "Bullseye"

Koneksi Internet Bermasalah di Ubuntu 18.04, Berikut Cara Memperbaikinya