Pernahkah kamu mengejar skor A+ di SSLLabs, tapi tersangkut di pesan error menyebalkan: “Revocation status: Validation error” atau “OCSP response: No response sent”?
Kamu sudah mengaktifkan ssl_stapling on;, tapi Nginx tetap menolak bekerja sama. Padahal sertifikat SSL valid, website bisa dibuka, tapi rasanya ada yang kurang sempurna.
Setelah berjam-jam debugging di terminal, ternyata biang keroknya seringkali bukan pada konfigurasi Nginx Anda semata, melainkan kombinasi dari Perubahan Penerbit Sertifikat (R12 ke R13), Koneksi IPv6, dan Protokol Usang.
Mari kita bedah masalah ini dengan bahasa manusia dan ilustrasi visual.

Seumpama 1: Drama di Kantor Kelurahan (R12 vs R13)
Masalah teknis pertama adalah perubahan sertifikat intermediate Let’s Encrypt. Bayangkan Let’s Encrypt adalah sebuah Kantor Kelurahan.
- ISRG Root X1 = Pak Lurah (Pejabat Tertinggi).
- R12 = Petugas Loket A.
- R13 = Petugas Loket B.
Selama ini, Nginx kamu memegang “Foto Petugas A” (R12) sebagai referensi terpercaya. Tiba-tiba, sertifikat baru kamu ditandatangani oleh Petugas B (R13).
Visualisasi Konflik:
graph TD
A[Nginx Server] -->|Cek Database Kepercayaan| B(File: trusted_chain.pem)
B -->|Isinya Cuma Foto| C[Petugas A - R12]
D[Sertifikat Baru Website] -->|Ditandatangani Oleh| E[Petugas B - R13]
A -->|Validasi Sertifikat| D
A --x|TOLAK! Saya tidak kenal tanda tangan Petugas B!| D
style A fill:#ff9999,stroke:#333,stroke-width:2px
style D fill:#99ff99,stroke:#333,stroke-width:2pxAkibatnya? Fitur OCSP Stapling gagal karena Nginx tidak bisa memverifikasi siapa penerbit sertifikatnya (R13), meskipun KTP-nya asli. Nginx memilih untuk “diam” (No response sent) daripada salah kirim data.
Seumpama 2: Jalan Tol vs Jalan Tikus (IPv4 vs IPv6)
Masalah kedua adalah koneksi internet server itu sendiri. Untuk mengambil status validasi (OCSP), Nginx harus “menelepon” server Let’s Encrypt.
- IPv4 (Jalan Tol): Jalur lama, stabil, lebar, dan lancar.
- IPv6 (Jalan Tikus): Teknologi baru, tapi di banyak VPS murah, jembatannya sering putus.
Sayangnya, Nginx sering “sok tahu” dan memaksa lewat Jalan Tikus (IPv6) dulu.
Visualisasi Koneksi:
sequenceDiagram
participant Nginx
participant DNS_Resolver
participant LetsEncrypt_Server
Nginx->>DNS_Resolver: "Halo, minta alamat r13.o.lencr.org dong"
DNS_Resolver-->>Nginx: "Ini alamatnya: 2404:6800... (IPv6) dan 142.251... (IPv4)"
Note over Nginx: Nginx memilih IPv6 duluan...
Nginx->>LetsEncrypt_Server: CONNECT via IPv6...
LetsEncrypt_Server--xNginx: ... (Hening / Timeout) ...
Note over Nginx: Gagal! Tapi sudah keburu timeout.
Nginx->>Pengunjung: "Maaf, data OCSP tidak ada (No Response)"Seumpama 3: Satpam Rabun vs Scanner Retina (TLS 1.0 vs TLS 1.3)
Masalah ketiga yang sering membuat nilai SSL Labs kamu jeblok (dapat B atau C) adalah Protokol TLS Usang.
Bayangkan protokol keamanan server kamu adalah Petugas Keamanan di pintu masuk gedung.
- TLS 1.0 & 1.1 = Satpam Tua yang Rabun. Dia hanya mengecek, “Oh, kamu bawa kartu identitas? Oke masuk.” Dia tidak sadar kalau kartu itu palsu atau fotokopian. Ini protokol lama yang mudah dijebol hacker.
- TLS 1.2 & 1.3 = Scanner Retina & AI. Sistem ini mengecek biometrik, enkripsi berlapis, dan super cepat.
Secara default, Nginx di aaPanel seringkali masih “mempekerjakan” Satpam Tua demi alasan “ramah tamah” (agar pengunjung dengan HP jadul tahun 2005 masih bisa masuk).
Tapi, SSLLabs sangat benci Satpam Tua. Jika Satpam Tua masih ada di pos jaga, nilai kamu otomatis turun jadi B, tidak peduli seberapa mahal sertifikat kamu.
graph TD
UserOld[Pengunjung HP Jadul] -->|Minta Masuk pakai TLS 1.0| Gate
UserNew[Pengunjung Modern] -->|Minta Masuk pakai TLS 1.3| Gate
subgraph "Nginx Default (Nilai B)"
Gate -->|Satpam Tua: Boleh!| Allow[Masuk (Tidak Aman)]
end
subgraph "Nginx Config A+ (Pecat Satpam Tua)"
Gate2[Nginx Aman] -->|Cek Protokol| Check{Versi TLS?}
Check -->|TLS 1.0 / 1.1| Block[TOLAK / Handshake Fail]
Check -->|TLS 1.2 / 1.3| Secure[Silakan Masuk Enkripsi Kuat]
endSolusinya? Kita harus tega. Pecat Satpam Tua. Di konfigurasi, kita hapus TLSv1.1 dan hanya sisakan yang canggih.
Solusi Akhir: Config Bersih & Stabil
Daripada memaksa Nginx melewati jalan tikus yang rusak atau memaksanya menghafal wajah petugas baru secara manual, solusi terbaik adalah Konfigurasi Bersih.
Kita matikan fitur OCSP Stapling (agar server tidak stress), tapi kita maksimalkan keamanan enkripsi (HSTS & TLS 1.3) serta membuang protokol usang.
Konfigurasi Nginx (.conf)
Ganti isi blok server { ... } website kamu dengan racikan ini:
server {
listen 80;
listen 443 ssl;
listen 443 quic;
http2 on;
http3 on;
server_name domainanda.com;
root /www/wwwroot/domainanda.com;
# --- KONFIGURASI SSL ---
ssl_certificate /www/server/panel/vhost/cert/[domainanda.com/fullchain.pem](https://domainanda.com/fullchain.pem);
ssl_certificate_key /www/server/panel/vhost/cert/[domainanda.com/privkey.pem](https://domainanda.com/privkey.pem);
# 1. KEAMANAN MAKSIMAL (Pecat Satpam Tua)
# Hapus TLS 1.0 dan 1.1 yang sudah usang. Hanya sisakan yang modern.
ssl_protocols TLSv1.2 TLSv1.3;
# Cipher Suites Kuat
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 2. HSTS (Wajib untuk Skor A+)
# Memberitahu browser untuk selalu memaksa HTTPS selama 1 tahun
add_header Strict-Transport-Security "max-age=31536000";
# 3. OCSP STAPLING (OFF)
# Dimatikan demi kestabilan jika DNS/IPv6 server tidak stabil.
# Browser pengunjung akan melakukan pengecekan sendiri.
ssl_stapling off;
ssl_stapling_verify off;
# --- SISA CONFIG STANDAR AAPANEL ---
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
# ... (Baris error_page, include php, dll biarkan default) ...
}Hasil Akhir
Dengan konfigurasi di atas, saat Anda cek di terminal menggunakan openssl s_client -status:
Protocol : TLSv1.3(Aman!)Verify return code: 0 (ok)(Valid!)OCSP response: no response sent(Normal & Stabil)
Apakah Aman? Sangat aman. Apakah A+? Ya, di SSL Labs kamu tetap mendapat A+ karena faktor utama penilaian adalah Protokol (TLS 1.2+) dan HSTS, bukan OCSP Stapling.
Terkadang, melepaskan fitur yang bermasalah (stapling) demi kestabilan sistem adalah langkah terbaik. Biarkan browser yang bekerja mengecek validitas, server kita fokus melayani pengunjung dengan cepat.
Kesimpulan
Mengejar nilai sempurna memang baik, tapi jangan sampai mengorbankan kewarasan dan kestabilan server.
- Fokus pada yang Wajib: HSTS dan TLS 1.3 adalah kunci keamanan masa kini. Pastikan dua hal ini aktif.
- Jangan Terjebak Istilah: “OCSP Stapling No” bukan berarti website kamu tidak aman. Itu hanya berarti server Anda tidak mengirimkan “surat jaminan” tambahan, tapi KTP (Sertifikat) kamu tetap asli dan valid.

