https

Meredirect HTTP Request ke HTTPS pada Lighttpd

Jika sebelumnya saya membuat tutorial instalasi StartSSL pada Lighttpd, kali ini saya akan memberikan tutorial untuk meredirect semua HTTP request ke HTTPS dengan menggunakan web server Lighttpd.

Note: Sebelumnya pastikan bahwa server Lighttpd aAnda sudah terkonfigurasi untuk dapat diakses melalui HTTPS

Caranya cukup mudah, hanya perlu menambahkan line berikut ini pada konfigurasi Lighttpd yang terletak di /etc/lighttpd/lighttpd.conf:

$HTTP["scheme"] == "http" {
    $HTTP["host"] =~ ".*" {
        url.redirect = (".*" => "https://%0$0")
    }
}

Kemudian reload proses Lighttpd dengan command:

service lighttpd reload  

Selesai.

Install StartSSL pada Web Server Lighttpd

StartSSL menyediakan SSL certificate secara gratis selama 1 tahun yang dapat digunakan untuk web server, enkripsi email, dll. Untuk mendapatkan SSL certificate secara gratis, Anda cukup mendaftar dan merequest certificate yang Anda butuhkan untuk domain Anda.

Dalam tutorial ini, saya akan menjelaskan cara memasang StartSSL free certificate pada web server Lighttpd.

Setelah Anda memvalidasi domain pada website StartSSL. Pilih menu Certificate Wizard dan pilih SSL/TLS Server Certificate, setelah selesai, simpan dengan nama ssl.crt. Kemudian buat Private key, simpan dengan nama ssl.key. Download juga file sub.class1.server.ca.pem dan ca.pem disini

Upload 4 file tersebut ke webserver Anda, bisa melalui SFTP. Untuk memudahkan konfigurasi, buat direktori certs pada /etc/lighttpd/ dan upload semua file tersebut disana.

Decrypt Private key ssl.key dengan command:

openssl rsa -in ssl.key -out ssl.key  

Kemudian masukkan Private key ke certificate dengan command:

cat ssl.key >> ssl.crt  

Buat juga Chain certificate dengan command:

cat sub.class1.server.ca.pem ca.pem >> ca-certs.crt  

Sekarang Anda perlu mengubah konfigurasi Lighttpd agar menggunakan SSL dengan menambahkan kode berikut pada /etc/lighttpd/lighttpd.conf:

$SERVER["socket"] == "IPSERVERANDA:443" {
   server.document-root   = "/var/www"
   server.name            = "namadomainanda.com"
    # Konfigurasi StartSSL
   ssl.engine             = "enable"
   ssl.ca-file            = "/etc/lighttpd/certs/ca-certs.crt"
   ssl.pemfile            = "/etc/lighttpd/certs/ssl.crt"
}

Sekarang load konfigurasi yang baru pada Lighttpd Anda dengan command:

service lighttpd reload  

Selesai. Anda dapat mencoba mengaksesnya pada https://namadomainanda.com