Konfigurasi Nginx Reverse Proxy di Almalinux 8

Artikel selanjutnya akan membahas tentang konfigurasi nginx reverse proxy pada sistem operasi AlmaLinux 8. Sebelumnya saya pernah menulis blog tentang nginx sebagai reverse proxy beberapa tahun yang lalu, kini saya akan update kembali dengan format yang lebih baik.

Almalinux 8

Langkah pertama yaitu mari siapkan OS Almalinux 8 64 bit. Untuk kebutuhan RAM disk dsb saya rasa tergantung pemakaian dari kalian. Untuk web biasa dan pemakaian personal, rasanya 1 GB RAM dan 20 GB disk dan 1 vCPU sudah cukup. Namun untuk pemakaian secara masal saya rasa minimal harus 2 GB RAM dan 2 vCPU.

Pastikan kita update terlebih dahulu.

dnf update; dnf install epel-release

Lalu mari pasang nginx

dnf install nginx

Konfigurasi Nginx

Mari kita konfigurasi virtual host nginx yang akan digunakan sebagai reverse proxy. Pada kali ini saya menggunakan 000.conf untuk konfigurasi virtual host saya.

vi /etc/nginx/conf.d/000.conf

Kemudian kita isi konfigurasi sebagai berikut :
Dimana fqdn domain mu adalah nama domain hasil dari reverse, dan url.nya adalah source yang ingin di forward ke reverse nginx.

    server {
        listen      80;
        server_name fqdn.domain.mu;

        proxy_redirect      off;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    Host $http_host;

        location / {
            proxy_pass http://url.nya/;
        }
    }

Kemudian cek config apakah sudah benar.

nginx -t

Jika config sudah oke dan successful, maka kita proses restart

systemctl restart nginx

Lalu kita test di browser apakah berhasil atau tidak.

Install SSL Nginx

Agar reverse proxy kita makin ganteng, maka kita pasangkan Let’s Encrypt SSL. Pastikan epel-release sudah terpasang, di awal kita sudah pasang bukan? Di sini saya copas full command.

dnf install certbot python3-certbot-apache mod_ssl; dnf install certbot python3-certbot-nginx

Jika sudah mari kita lanjut untuk generate SSL pada config kita. Karena web server kita menggunakan nginx, maka :

certbot --nginx

Kemudian output sebagai berikut :

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: fqdn.domain.mu
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

Kemudian pilih nomor 1 karena kita ingin secure fqdn domain mu. Kemudian step by step ikuti langkah yang sudah diberikan.

Selamat! Reverse proxy nginx kamu kini sudah jadi!

Leave a Reply

Your email address will not be published. Required fields are marked *