[Tutorial] Konfigurasi HTTPS dan HTTPS Redirect pada Nginx di Centos 6.5

Logo_nginx_ssl


Author: Rahmat Nugraha.


Serial Tutorial dari Cloud Indonesia kali masih akan membahas seputar Web Server dan Centos 6.5

[Tutorial] Konfigurasi HTTPS dan HTTPS Redirect pada Nginx di Centos 6.5

SSL certificate adalah salah satu cara untuk mengenkripsi informasi suatu situs dan membuat koneksi yang lebih aman. Certificate juga dapat menampilkan informasi identifikasi server kepada pengunjung web.
SSL dapat diterapkan ke banyak service, termasuk dengan Nginx untuk membuat koneksi web lebih aman. Setelahnya kita dapat menggunakan protokol HTTPS (HTTP Secure) untuk mengakses web melalui jalur SSL. Kali ini kita akan mengkonfigurasi SSL pada Nginx di Centos 6.5
Pastikan Nginx sudah terinstall. Optional : siapkan domain untuk digunakan di web server ini. Saya menggunakan domain test.lmd untuk percobaan HTTPS dan ssl.test.lmd untuk percobaan HTTPS Redirect.

 

Pada serial tutorial Centos di cloud indonesia kali ini akan di jelaskan langkah-langkah kerja nya sebagai berikut:

 

LANGKAH KERJA

1. Buat direktori untuk certificate

Kita perlu membuat direktori baru tempat penyimpanan certificate ssl dan key server

[root@gendigbadig ~]# mkdir /etc/nginx/ssl

 

 2. Membuat Self Signed Certificate

Ketika kita membuat certificate baru, kita dapat mengisi jumlah hari dimana certificate akan valid. Kali ini kita akan membuat certificate yang valid selama satu tahun

[root@gendigbadig ~]# opensslreq -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/server.key -out /etc/nginx/ssl/server.crt

Generating a 2048 bit RSA private key

…………………………………………….+++

…………………+++

writing new private key to ‘/etc/nginx/ssl/server.key’

—–

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [XX]:ID

State or Province Name (full name) []:DKI Jakarta

Locality Name (eg, city) [Default City]:Jakarta Selatan

Organization Name (eg, company) [Default Company Ltd]:PTLintas Media Danawa

Organizational Unit Name (eg, section) []:Cloud Department

Common Name (eg, your name or your server’s hostname) []:202.152.19.108

Email Address []:gendigs@live.com

 

3. Konfigurasi SSL

Buka file /etc/nginx/conf.d/ssl.conf

[root@gendigbadig ~]# vi /etc/nginx/conf.d/ssl.conf

Uncomment bagian dibawah HTTPS Server seperti dibawah. Sesuaikan parameter server_name dengan domain yang digunakan. Lalu edit bagian ssl_certificate dan ssl_certificate_key dengan path tempat certificate dan key server yang baru saja dibuat. Tambahkan index.php pada parameter index.

# HTTPS server configuration

#

server {

listen       443;

server_nametest.lmd; #edit bagianini

ssl                 on;

ssl_certificate     /etc/nginx/ssl/server.crt; #edit bagianini

ssl_certificate_key /etc/nginx/ssl/server.key; #edit bagianini

#   ssl_session_timeout 5m;

#   ssl_protocols SSLv2 SSLv3 TLSv1;

#   ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

#   ssl_prefer_server_ciphers   on;

location / {

root   html;

index index.php index.html index.htm; #tambahkanindex.php

}

}

Lalu restart Nginx

[root@gendigbadig ~]# servicenginx restart

Stopping nginx:                                           [ OK ]

Starting nginx:                                           [ OK ]

 

4. Pengujian

Buka web browser dan masukkan alamat https://IPaddress/ atau https://FQDN/

img1

Akan muncul peringatan seperti diatas. Tenang, karena kita membuat sendiri certificatenya, maka akan muncul peringatan seperti itu. Klik Proceed Anyway.

img2

 

5. Konfigurasi HTTPS Redirect

Buat file baru ssl.lmd di direktori sites-available

[root@gendigbadig ~]# vi /etc/nginx/sites-available/ssl.lmd

Lalu tambahkan baris berikut dibawah

server {

listen         80;

server_name   ssl.test.lmd;

rewrite       ^ https://$server_name$request_uri? permanent;

}

server {

listen         443;

server_name   ssl.test.lmd;

ssl           on;

ssl_certificate     /etc/nginx/ssl/server.crt;

ssl_certificate_key /etc/nginx/ssl/server.key;

}

Baris yang paling penting adalah parameter rewrite, karena itu merupakan perintah untuk merewrite URL dari HTTP ke HTTPS.

Kemudian buat symbolic link untuk file konfigurasi ssl.lmd di direktori sites-enabled

[root@gendigbadig ~]# cd /etc/nginx/sites-enabled/ [root@gendigbadig sites-enabled]# ln -s /etc/nginx/sites-available/ssl.lmd

Terakhir, restart Nginx

[root@gendigbadig sites-enabled]# service nginx restart

Stopping nginx:                                           [ OK ]

Starting nginx:                                           [ OK ]

 

6. Pengujian 2

Buka web browser dan masukkan alamat http://ssl.test.lmd

img3

 

Jika konfigurasi benar, maka akan langsung redirect menjadi https://ssl.test.lmd

img4

Klik Proceed Anyway

img5

Sekian.

 

Demikian tutorial tentang Instalasi Apache HTTP Web Server dan PHP di Centos 6.5 dari cloud Indonesia kali ini.

Ikuti tutorial dari Cloud Indonesia lainnya di http://cloudindonesia/tutorial.

 

 


[wp_bannerize group=”cozy on demand” random=”0″]