# Nginx - Proxy Pass

Proxy pass di Nginx digunakan untuk mem-forward (meneruskan) permintaan (request) dari klien ke server backend, dan mengembalikan (return) respons dari server backend ke klien. Berikut adalah contoh penggunaan proxy pass di Nginx :

```
server {
    listen 80;
    server_name kevin.ilusidigital.com;

    location / {
        proxy_pass http://192.168.1.110:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
```

Penjelasan dari konfigurasi tersebut :

- `listen 80;` mendefinisikan port yang akan didengarkan oleh server.
- `server_name kevin.ilusidigital.com;` mendefinisikan nama domain yang akan diproses oleh server.
- `location /` mendefinisikan lokasi dari permintaan yang akan diteruskan ke server backend.
- `proxy_pass http://backend_server:8080;` mendefinisikan alamat server backend yang akan diproses permintaan dari klien. Perhatikan bahwa protokol http harus didefinisikan dan port 8080 digunakan di sini.
- `proxy_set_header` mendefinisikan header tambahan yang akan disertakan dalam permintaan yang diteruskan. `Host` header digunakan untuk menentukan host tujuan, `X-Real-IP` digunakan untuk mendapatkan alamat IP asli dari klien, dan `X-Forwarded-For` digunakan untuk memberikan informasi tambahan tentang asal permintaan.

Setelah Anda mengonfigurasi proxy pass di Nginx, pastikan untuk menguji koneksi ke server backend dengan menjalankan perintah berikut :

```
curl http://localhost
```

Jika server backend merespons dengan benar, maka konfigurasi proxy pass di Nginx sudah berhasil.