HSTS untuk Website Bisnis Indonesia: Cara Kunci HTTPS agar Tidak Bocor di Jaringan Publik 2026
TL;DR: HSTS (HTTP Strict Transport Security) adalah header HTTP yang memerintahkan browser hanya membuka domain via HTTPS, sehingga celah downgrade dan SSL stripping tertutup. Untuk website bisnis Indonesia, deploy HSTS standar dengan
max-age=31536000cukup di tahap awal, lalu naikkan keincludeSubDomainsdan[preload](/glosarium/preload)setelah seluruh subdomain konsisten HTTPS.
Saat audit performa dan keamanan website klien sepanjang 2024 sampai 2026, saya melihat pola yang sama berulang. Banyak landing page bisnis Indonesia sudah memasang sertifikat SSL, tapi melupakan satu lapis kecil: HSTS. Akibatnya, redirect dari http:// ke https:// masih terbuka untuk diintip di jaringan publik seperti kafe, bandara, atau Wi-Fi co-working.
Salah satu klien personal branding yang saya tangani, Yuanita Sekar, sempat menanyakan kenapa lighthouse-nya hijau tapi dashboard security Search Console memberi peringatan tentang HTTPS yang belum strict. Jawabannya bukan sertifikat yang salah, melainkan satu header yang belum dipasang.
Apa Masalah Sebenarnya?
Sertifikat HTTPS yang dipasang di hosting hanya melindungi koneksi yang memang sudah berjalan via HTTPS. Masalahnya, ketika pengguna mengetik domain tanpa awalan, browser default membuka HTTP terlebih dahulu, lalu di-redirect ke HTTPS oleh server. Di celah redirect inilah pelaku man-in-the-middle bisa menyisipkan halaman palsu, menukar tombol login, atau mencuri token. Mekanisme ini lazim disebut SSL stripping.
HSTS menutup pintu itu secara permanen di sisi browser. Setelah satu kali browser melihat header Strict-Transport-Security, ia akan menolak permintaan HTTP ke domain tersebut, bahkan jika pengguna mengetik http secara manual. Konsep dasarnya saling melengkapi dengan SSL/HTTPS dan kebijakan resource CSP.
Anatomi Header HSTS
| Direktif | Fungsi | Rekomendasi awal |
|---|---|---|
max-age | Durasi browser mengingat aturan HTTPS-only | 31536000 (1 tahun) |
includeSubDomains | Memberlakukan ke semua subdomain | Aktifkan setelah audit subdomain |
preload | Daftar HSTS preload Chromium | Daftarkan setelah 2-3 bulan stabil |
Header lengkap untuk website bisnis matang:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Untuk yang masih menjalankan beberapa subdomain via HTTP (misal staging atau internal CRM), turunkan dulu menjadi:
Strict-Transport-Security: max-age=15552000
dan rapikan subdomain bertahap. Jangan loncat ke preload sebelum seluruh subdomain bersih, karena daftar preload sulit dicabut, dan dampaknya bisa membuat layanan internal tidak bisa diakses.
Cara Pasang di Stack Umum
Berikut tiga skenario paling sering saya temui di proyek website bisnis Indonesia.
Pertama, untuk website Next.js yang dideploy di Vercel atau Netlify, header bisa diatur lewat next.config.ts dengan blok headers() atau file _headers Netlify. Konfigurasi ini bersifat statis, sehingga tidak menambah beban runtime dan tetap aman untuk Core Web Vitals.
Kedua, untuk WordPress di hosting cPanel, tambahkan header lewat .htaccess di root domain. Pastikan modul mod_headers aktif. Banyak hosting Indonesia sudah mengaktifkan default, tapi tetap perlu cek.
Ketiga, untuk yang memakai Cloudflare di depan origin, gunakan fitur HSTS bawaan di tab SSL/TLS. Cloudflare akan menambahkan header tanpa perlu mengubah server origin, sangat membantu jika tim teknis kecil.
Studi Kasus: HSTS di Vetmo dan Atmo
Saat membantu Vetmo, marketplace pet care, kami memutuskan langsung pasang HSTS dengan max-age=31536000 di hari peluncuran karena seluruh stack memang sudah HTTPS first-party, termasuk subdomain admin. Hasilnya, audit security Mozilla Observatory naik dari grade B ke grade A, dan tim ops tidak menerima laporan kebocoran sesi sepanjang 12 bulan pertama.
Sementara itu di Atmo, learning management system, kami memilih pendekatan bertahap. max-age pertama hanya 1 bulan, tanpa includeSubDomains, karena ada satu subdomain integrasi pihak ketiga yang masih HTTP saat itu. Setelah subdomain itu dimigrasi, baru menyalakan includeSubDomains di kuartal berikutnya. Pelajaran utamanya: HSTS bukan saklar yang harus dinyalakan maksimal sejak hari pertama. Nyalakan sesuai kondisi infrastruktur agar tidak menutup akses pengguna sah secara tidak sengaja.
Pertanyaan Umum
Apakah HSTS otomatis aktif kalau saya sudah pakai SSL?
Tidak. SSL hanya menyediakan koneksi terenkripsi jika protokolnya HTTPS. HSTS adalah perintah tambahan yang dikirim lewat header agar browser memaksakan HTTPS. Tanpa header ini, redirect HTTP ke HTTPS tetap punya celah satu request yang rawan.
Bagaimana cara cek HSTS sudah aktif di domain saya?
Buka tools curl -I https://domain.com di terminal, lalu cari baris Strict-Transport-Security. Cara cepat lainnya, gunakan SSL Labs atau Mozilla Observatory dan lihat skor HSTS.
Apa risiko HSTS terlalu agresif?
Jika max-age tinggi disetel sebelum seluruh subdomain HTTPS, beberapa layanan internal bisa hilang akses. Mulai dengan max-age rendah (misal 5 menit di awal QA), lalu naikkan setelah verifikasi.
Apakah HSTS membantu SEO?
Tidak secara langsung sebagai sinyal peringkat, tapi Google menjadikan HTTPS sebagai sinyal positif sejak 2014, dan HSTS memperkuat sinyal itu. Lebih penting, HSTS menjaga reputasi brand karena pengguna terhindar dari peringatan keamanan browser. Lihat juga panduan Technical SEO untuk konteks lebih luas.
Penutup: Aktifkan dengan Sabar, Bukan dengan Buru-buru
HSTS termasuk fitur keamanan yang murah secara biaya, tapi mahal kalau dipasang sembarangan. Untuk website bisnis Indonesia di 2026, urutan yang aman adalah: pastikan seluruh halaman utama dan subdomain HTTPS, pasang HSTS dengan max-age rendah selama 2 minggu, naikkan ke 1 tahun, lalu pertimbangkan preload setelah benar-benar stabil. Referensi resmi dapat dibaca di MDN Web Docs HSTS dan rekomendasi Google di web.dev HTTPS.
Artikel Terkait
Website Bisnis
Cara Marketer Indonesia Pasang llms.txt di Next.js untuk Memandu Crawler AI dan Naikkan Citation di Jawaban AI Search 2026
Panduan lengkap memasang llms.txt di Next.js: file mandat baru yang dipakai ChatGPT, Claude, dan Perplexity untuk memilih konten yang dikutip.
Website Bisnis
Cara Marketer Indonesia Pasang VideoObject Schema di Next.js untuk Muncul di Carousel Video SERP 2026
Panduan praktis pasang VideoObject Schema di Next.js App Router supaya video tutorial dan demo produk muncul dengan thumbnail di hasil pencarian Google dan dikutip AI search.
Website Bisnis
Cara Marketer Indonesia Monitor Field Data CrUX di Next.js untuk Validasi Skor Core Web Vitals Pengguna Nyata 2026
Panduan lengkap memasang monitoring field data lewat CrUX API dan web-vitals.js di Next.js, supaya marketer tidak lagi tertipu skor Lighthouse yang bagus.
Butuh website yang benar-benar bekerja?
Hubungi Vito untuk konsultasi gratis 15 menit.
WhatsApp Sekarang