Mengatasi ERR_SPDY_PROTOCOL_ERROR pada HTTP/2 di Nginx
Judulnya agak ribet memang. Ceritanya saya baru sadar ada masalah saat website yang menggunakan HTTP/2 saat diakses lewat browser Google Chrome malah gagal. Padahal di browser lain seperti Mozilla Firefox dan Microsoft Edge normal.
Muncul pesan kesalahan seperti berikut:
This site can’t be reached
The webpage at https://servernesia.com/ might be temporarily down or it may have moved permanently to a new web address.
ERR_SPDY_PROTOCOL_ERROR
Dari deskripsinya ini tampaknya ada masalah pada implementasi protokol HTTP/2 (SPDY atau Speedy adalah nama lamanya sebelum menjadi standar).
Masalahnya, kemarin masih lancar semuanya. Yang saya ubah adalah security header pada Nginx, jadi otomatis saya ngeceknya kesitu.
Dan akhirnya memang tampaknya ada satu header yang belum kompatibel dengan HTTPS+HTTP2 yang dilayankan lewat Nginx:
add_header Referrer-Policy: unsafe-url;
Tampaknya khusus header Referrer-Policy untuk sementara jangan digunakan dulu.
Catatan saja, kalau pakai HTTP/HTTPS semua headernya bisa digunakan dengan normal. Cuma yang jadi masalah adalah kalau aktif pakai HTTP2 pada Nginxnya.