Cara Menginstall SSL Cloudflare pada nginx

Requirement

  • Cloudflare account
  • Server
  • Domain

Steps

  1. lakukan pointing domain ke cloudflare
  2. buat sebuah server baru
  3. di cloudflare masuk pada menu DNS dan tambahkan ip address server pada A record
  4. pada server, install nginx dengan cara sudo apt install nginx
  5. selanjutnya lakukan konfigurasi server pada folder /etc/nginx/sites-enabled
  6. ubah isi file default menjadi untuk reverse proxy :
#untuk mendirect port 80 ke port 443
server{
    listen 80;
    listen [::]:80;
    server_name piuw.my.id;
    return 302 https://$server_name$request_uri;
}

server{
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl on;
    ssl_certificate         /etc/ssl/certs/cert.pem;
    ssl_certificate_key     /etc/ssl/private/cert.key;
    
    server_name piuw.my.id;
    #proxy server, pointing ke port 3000
    location / {
        proxy_pass http://localhost:3000;
    }
}

untuk serving folder:

server{
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl on;
    ssl_certificate         /etc/ssl/certs/cert.pem;
    ssl_certificate_key     /etc/ssl/private/cert.key;
    
    
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    server_name piuw.my.id;
    location / {
        try_files $uri $uri/ =404;
    }
}
  1. buat file ssl_certificate dengan nano /etc/ssl/certs/cert.pem kemudian paste ssl certificate yang ada pada cloudflare.
  2. buat private key dengan cara nano /etc/ssl/private/cert.key kemudian paste isi private key yang ada pada cloudflare.
  3. check apakah terjadi error atau tidak, dengan cara sudo nginx -t
  4. jika tidak terjadi error, restart nginx dengan cara sudo systemctl restart nginx