KONFIGURASI REVERSE PROXY NGINX - PAK SLAMET
Untuk memasang dan mengkonfigurasi Nginx sebagai reverse proxy dengan manajemen SSL untuk tiga aplikasi web yang berjalan dalam kontainer sebagai upstream, Anda dapat mengikuti langkah-langkah berikut:
1. Pastikan Anda telah menginstal Nginx di server Anda. Anda dapat menggunakan paket manajer sistem seperti apt (untuk distribusi berbasis Debian/Ubuntu) atau yum (untuk distribusi berbasis Red Hat/CentOS) untuk menginstalnya. Misalnya, jika Anda menggunakan Ubuntu, jalankan perintah berikut di terminal:
```
sudo apt update
sudo apt install nginx
```
2. Setelah menginstal Nginx, buat file konfigurasi untuk setiap aplikasi web yang ingin Anda proxykan. Misalnya, buat file `/etc/nginx/sites-available/dev.example.com` untuk aplikasi di dev.example.com, `/etc/nginx/sites-available/stag.example.com` untuk aplikasi di stag.example.com, dan `/etc/nginx/sites-available/prod.example.com` untuk aplikasi di prod.example.com.
3. Buka file konfigurasi untuk dev.example.com menggunakan editor teks. Misalnya, jalankan perintah berikut:
```
sudo nano /etc/nginx/sites-available/dev.example.com
```
Tambahkan konfigurasi berikut ke file:
```
server {
listen 80;
server_name dev.example.com;
location / {
proxy_pass http://dev_app_container;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
Ganti `dev_app_container` dengan nama kontainer yang berisi aplikasi web untuk dev.example.com.
4. Simpan dan keluar dari editor teks.
5. Buat link simbolis dari file konfigurasi yang baru dibuat ke direktori `sites-enabled`. Jalankan perintah berikut:
```
sudo ln -s /etc/nginx/sites-available/dev.example.com /etc/nginx/sites-enabled/
```
6. Ulangi langkah 3-5 untuk aplikasi di stag.example.com dan prod.example.com, mengganti konfigurasi dan nama file sesuai.
7. Uji konfigurasi Nginx untuk memastikan tidak ada kesalahan sintaks. Jalankan perintah berikut:
```
sudo nginx -t
```
Jika tidak ada kesalahan, lanjutkan ke langkah berikutnya.
8. Restart layanan Nginx untuk menerapkan konfigurasi baru. Jalankan perintah berikut:
```
sudo systemctl restart nginx
```
Nginx sekarang berfungsi sebagai reverse proxy untuk tiga aplikasi web dengan konfigurasi dasar.
9. Untuk mengaktifkan manajemen SSL dengan Nginx, Anda dapat menggunakan certbot, sebuah alat yang mendukung otomatisasi pemasangan dan pembaruan sertifikat SSL Let's Encrypt. Ikuti dokumentasi certbot untuk menginstalnya dan mendapatkan sertifikat SSL untuk setiap domain.
Setelah mendapatkan sertifikat SSL, tambahkan konfigurasi SSL ke setiap file konfigurasi di `/etc/nginx/sites-available` yang sesuai dengan aplikasi web masing-masing. Berikut adalah contoh konfigur
asi SSL untuk dev.example.com:
```
server {
listen 80;
listen [::]:80;
server_name dev.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name dev.example.com;
ssl_certificate /path/to/dev.example.com/fullchain.pem;
ssl_certificate_key /path/to/dev.example.com/privkey.pem;
location / {
proxy_pass http://dev_app_container;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
Ganti `/path/to/dev.example.com/fullchain.pem` dengan jalur lengkap ke sertifikat SSL dan `/path/to/dev.example.com/privkey.pem` dengan jalur lengkap ke kunci pribadi sertifikat SSL untuk dev.example.com. Lakukan hal yang sama untuk file konfigurasi lainnya sesuai dengan domain yang sesuai.
10. Ulangi langkah 7-8 untuk menguji dan menerapkan konfigurasi SSL baru.
Sekarang Anda telah mengkonfigurasi Nginx sebagai reverse proxy dengan manajemen SSL untuk tiga aplikasi web dengan domain dev.example.com, stag.example.com, dan prod.example.com. Pastikan Anda memiliki kontainer yang sesuai dengan setiap aplikasi web dan telah mengganti konfigurasi Nginx dengan kontainer yang benar.
Komentar
Posting Komentar