Redirect dari http ke https Nginx

Ketika website yang kita miliki sudah dapat menerima https, akan lebih baik apabila semua request ke website kita dialihkan ke https semua agar keamanan lebih terjamin. Untuk melakukan hal tersebut pada nginx, ikuti langkah di bawah ini.

Pada konfigurasi nginx, biasanya terdapat blok server{}  misalkan seperti berikut:

server {
    listen 80;
    server_name example.com www.example.com;
    ......
    ......
}

Untuk memaksa agar nginx redirect ke https, ubah konfigurasi menjadi kurang lebih seperti berikut

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name example.com www.example.com;
    ......
    ......
}

Loh kok ada 2 blok server dalam 1 konfigurasi? Ya memang begitu. 1 server berfungsi untuk menerima request dari http biasa (port 80). return 301 https://$host$request_uri; berfungsi untuk meredirect request ke https. Setting server untuk https ada di blok server kedua yang ada listen 443.

Leave A Comment