# ADR 001: Modernisasi SSL nginx reverse-proxy untuk HTTP/2 **Status:** Accepted **Tanggal:** 2026-06-17 **Server:** `10.100.1.24` (reverse-proxy) ## Konteks Subdomain `*.gisportal.id` dan `iguf.geonet.co.id` tidak bisa dibuka di browser (Edge/Chrome) dari jaringan lokal maupun publik, sementara `curl` mengembalikan HTTP 200. Error browser: `ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY`. ## Keputusan Perbarui `/etc/nginx/conf.d/ssl.conf`: | Sebelum | Sesudah | |---------|---------| | `ssl_protocols SSLv3 TLSv1.2` | `ssl_protocols TLSv1.2 TLSv1.3` | | Cipher termasuk `RC4` | Cipher GCM / CHACHA20 only | | `ssl_prefer_server_ciphers on` | `ssl_prefer_server_ciphers off` | Backup file lama: `ssl.conf.bak.20260617`. ## Konsekuensi **Positif:** - Browser HTTP/2 kompatibel dengan semua vhost yang include `ssl.conf` - Keamanan TLS lebih baik (SSLv3/RC4 dihapus) **Negatif / risiko:** - Klien sangat lama (hanya TLS 1.0 / cipher legacy) mungkin tidak bisa konek - Beberapa vhost production mendefinisikan ulang `ssl_protocols` di file sendiri — perlu diaudit jika ada keluhan per-domain ## Perubahan terkait (bukan SSL) - `nas.conf`: proxy QNAP via HTTPS; bypass redirect JS rusak ke `/cgi-bin/login.html` - `production/git.conf`: tambah `X-Forwarded-Proto` dan redirect port 80→443 ## Verifikasi - User konfirmasi akses normal: `iguf.geonet.co.id`, `*.gisportal.id` (vhost aktif), `dev.gisportal.id` - `openssl s_client`: `TLSv1.3, Cipher TLS_AES_256_GCM_SHA384` - `curl --http2`: HTTP/2 302/200