Redirect HTTP (80) ke HTTPS (443) pada Apache2 dan Nginx

Sekarang ini website harus memiliki tingkat keamanan yang cukup agar bisa diakses oleh semua browser terkini. Pada jaman dulu website menggunakan port 80 sebagai default-nya, namun seiring waktu dan perkembangan teknologi ternyata port 80 dari protocol HTTP tersebut mudah sekali disisipi berbagai hal yang bisa merugikan pengguna layanan yang melewati port 80. Dari situ kemudian muncul jalur lalu lintas data yang menggunakan protokol serupa namun ada penambahan fitur enkripsi sebagai pengaman (security) yang disebut HTTPS yang menggunakan port 443. Secara tidak langsung developer dari web browser mengutamakan layanan yang menggunakan security dalam aksesnya. Bagaimana website yang sudah menggunakan HTTPS port 443 namun port 80 masih tetap dinyalakan untuk akses lainnya?

Untuk menjawab pertanyaan itu, pada kali ini saya akan membagikan tips agar website dengan port 80 dan port 443 hanya akan terakses lewat port 443 saja. Caranya adalah dengan menggunakan kode program pada virtualhost untuk melakukan redirect alamat website atau domain yang menggunakan port 80 diarahkan ke port 443 (HTTPS). Ada 2 contoh, yang pertama menggunakan web server Apache2 dan berikutnya menggunakan Nginx.

Redirect pada Apache2, yaitu:

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName mysite.example.com
   Redirect permanent / https://mysite.example.com/
</VirtualHost>

<VirtualHost _default_:443>
   ServerName mysite.example.com
  DocumentRoot /usr/local/apache2/htdocs
  SSLEngine On
 # etc...
</VirtualHost>

Jangan lupa restrat layanan.

systemctl restart apache2

Redirect pada Nginx, yaitu

server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}

 

Jangan lupa restrat layanan.

systemctl restart nginx

 

Semoga bermanfaat!

Posted in Jaringan.