Saat ini jakhoster.com bersama PT. Mitra Digital Bersinergi
Edukasi 29 Jun 2026

Menerapkan HTTP dan HTTPS pada VPS Ubuntu 22.04: Langkah-Langkah Praktis untuk Keamanan dan Kinerja

Menerapkan HTTP dan HTTPS pada VPS Ubuntu 22.04: Langkah-Langkah Praktis untuk Keamanan dan Kinerja
Advertisement

Memahami HTTP dan HTTPS dalam Konteks VPS

Pada saat mengelola VPS berbasis Ubuntu 22.04, kita sering kali dihadapkan pada pilihan antara menggunakan HTTP dan HTTPS. Dalam konteks aplikasi web, kedua protokol ini memiliki peran vital. HTTP (HyperText Transfer Protocol) adalah protokol yang digunakan untuk mentransfer data di web, namun tidak menawarkan enkripsi, yang bisa menjadi celah keamanan. Di sisi lain, HTTPS (HTTP Secure) adalah lapisan aman pada HTTP yang menggunakan SSL/TLS untuk mengenkripsi data yang ditransfer, memberikan perlindungan lebih terhadap data sensitif. Dalam panduan ini, kita akan membahas langkah-langkah konfigurasi yang praktis dan efisien untuk menerapkan kedua protokol ini di server Ubuntu 22.04.

Menyiapkan Lingkungan VPS

Langkah pertama sebelum kita mengkonfigurasi HTTP dan HTTPS adalah memastikan bahwa VPS kita terinstal dengan semua dependensi yang diperlukan. Untuk panduan ini, kita akan menggunakan Nginx sebagai server web, namun prinsip yang dijelaskan dapat diterapkan pada server lain seperti Apache. Pastikan Nginx diinstal dengan perintah berikut: Pemahaman mengenai kedua protokol ini akan sangat berguna ketika kita membahas lebih dalam dalam Panduan Lengkap HTTPS dan SSL: Teori, Cara Kerja, Jenis Validasi, Troubleshooting, dan Hubungannya dengan SEO Website.

sudo apt update && sudo apt install nginx -y

Setelah instalasi, kita bisa memeriksa status Nginx dengan menjalankan:

Advertisement
sudo systemctl status nginx

Jika Nginx berjalan dengan baik, Anda akan melihat output yang menunjukkan status “active (running)”. Sekarang kita akan melanjutkan untuk membuat virtual host untuk aplikasi kita.

Konfigurasi Virtual Host Nginx untuk HTTP

Untuk mengonfigurasi Nginx dengan HTTP, kita perlu membuat file konfigurasi virtual host. Misalnya, jika domain kita adalah ‘example.com’, buat file konfigurasi sebagai berikut:

sudo nano /etc/nginx/sites-available/example.com

Di dalam file tersebut, tambahkan konfigurasi berikut:

server {
listen 80;
server_name example.com www.example.com;

location / {
root /var/www/example.com/html;
index index.html index.htm;
}

error_page 404 /404.html;
location = /404.html {
internal;
}
}

Konfigurasi di atas melakukan hal berikut:
listen 80; menegaskan bahwa server akan mendengarkan permintaan pada port 80, yang merupakan port standar untuk HTTP.
server_name menentukan nama domain yang akan digunakan untuk akses.
location / mendefinisikan lokasi root dari file web kita dan file indeks yang digunakan.

Setelah menambahkan konfigurasi, kita perlu membuat folder untuk menyimpan file web kita dan mengatur izin yang sesuai:

sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www

Selanjutnya, kita dapat menambahkan sebuah file contoh untuk memastikan semuanya berfungsi dengan baik:

echo '

Selamat Datang di contoh.com

' | sudo tee /var/www/example.com/html/index.html

Setelah itu, aktifkan konfigurasi ini dengan membuat simbolik link ke sites-enabled:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Terakhir, periksa konfigurasi Nginx dan restart layanan:

sudo nginx -t
sudo systemctl restart nginx

Bertransisi ke HTTPS dengan Let’s Encrypt

Setelah konfigurasi HTTP selesai, langkah kita selanjutnya adalah mengamankan aplikasi kita dengan HTTPS. Kita bisa menggunakan Let’s Encrypt untuk mendapatkan sertifikat SSL gratis. Pertama, instal Certbot:

sudo apt install certbot python3-certbot-nginx -y

Kemudian, kita dapat memperoleh sertifikat SSL dengan menjalankan perintah berikut:

sudo certbot --nginx -d example.com -d www.example.com

Proses ini akan memandu Anda melalui konfigurasi sertifikat SSL. Certbot akan secara otomatis mengubah file konfigurasi Nginx Anda untuk mengalihkan HTTP ke HTTPS, dan Anda akan melihat output yang merangkum apa yang telah terjadi. Jika Anda mendapatkan pesan sukses, itu berarti semuanya sudah diatur dengan baik.

Menentukan Pengalihan HTTP ke HTTPS

Meskipun Certbot secara otomatis mengonfigurasi pengalihan, penting untuk mengetahui cara melakukannya secara manual. Anda perlu menambahkan pengalihan di dalam blok server pada file konfigurasi:

server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}

Konfigurasi ini menginstruksikan Nginx untuk mengalihkan semua permintaan dari HTTP ke HTTPS. Pastikan untuk memuat ulang Nginx setelah melakukan perubahan:

sudo systemctl reload nginx

Security Considerations: Mengamankan Nginx Lebih Lanjut

Meskipun HTTPS memberikan lapisan keamanan, ada beberapa praktik terbaik yang perlu diterapkan untuk meningkatkan keamanan lebih lanjut. Menambah header keamanan seperti Content-Security-Policy dan X-Content-Type-Options adalah langkah tambahan yang penting. Contoh implementasi dapat terlihat seperti ini:

add_header X-Content-Type-Options 'nosniff';
add_header X-Frame-Options 'DENY';
add_header Content-Security-Policy

Rekomendasi Sponsor