Sekedar dokumentasi dari permasalahan yang pernah saya jumpai. Terkadang dari sisi aplikasi tidak siap untuk dipublikasi secara HTTPS karena di dalam source code-nya masih ter-hardcoded beberapa resource eksternal menggunakan protokol HTTP.
Hal ini membuat kebanyakan web browser mengeluh dan enggan untuk memuat resource yang dipanggil dari protokol HTTP tadi.
Maka solusinya ada 2:
- Edit source code-nya, ganti semua kode yang memanggil resource dari HTTP menjadi HTTPS.
- Dari sisi Reverse-Proxy, tinggal tambahkan header berikut:
add_header 'Content-Security-Policy' 'upgrade-insecure-requests';
Kali ini saya akan membahas solusi untuk Reverse-Proxy Nginx
Contoh konfigurasi server block dan penempatan header :
server {
listen 443 ssl http2;
server_name namawebsite.tld;
root /var/www/public_html;
... konfigurasi ssl ...
add_header 'Content-Security-Policy' 'upgrade-insecure-requests'; <-- Taruh disini, di dalam server block dan diluar block location
location / {
... konfigurasi ...
}
}
Semoga bermanfaat, insyaAllah.