Untuk memastikan bahwa log di web server Apache mencatat alamat IP asli dari klien yang mengakses situs Anda melalui Nginx reverse proxy, Anda perlu mengkonfigurasi Nginx dan Apache agar dapat meneruskan dan membaca alamat IP asli. Berikut adalah langkah-langkah yang dapat Anda ikuti:
Konfigurasi Nginx
- Aktifkan Modul
real_ip
di Nginx: Pastikan modulreal_ip
diaktifkan dalam konfigurasi Nginx Anda. Modul ini memungkinkan Nginx untuk meneruskan alamat IP asli klien ke server backend.
- Konfigurasi Nginx untuk Meneruskan IP Asli: Tambahkan atau modifikasi baris berikut dalam blok server Nginx Anda:
http {
...
set_real_ip_from 0.0.0.0/0; # Ganti dengan rentang IP yang sesuai jika perlu
real_ip_header X-Forwarded-For;
...
}
Konfigurasi ini memberitahu Nginx untuk menggunakan header X-Forwarded-For
untuk meneruskan alamat IP asli klien.
Konfigurasi Apache
- Aktifkan Modul
remoteip
di Apache: Pastikan modulremoteip
diaktifkan. Anda dapat mengaktifkannya dengan perintah berikut (tergantung pada sistem operasi dan distribusi yang Anda gunakan):
a2enmod remoteip
- Konfigurasi Apache untuk Membaca IP Asli: Tambahkan atau modifikasi baris berikut dalam konfigurasi Apache Anda, biasanya di dalam file
apache2.conf
atauhttpd.conf
:
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1 # Ganti dengan IP Nginx jika berbeda
Konfigurasi ini memberitahu Apache untuk menggunakan header X-Forwarded-For
sebagai sumber alamat IP klien.
- Sesuaikan Format Log Apache: Pastikan format log Apache Anda mencatat alamat IP yang diteruskan. Anda dapat menyesuaikan format log dengan menambahkan atau memodifikasi baris berikut dalam konfigurasi log:
apache LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" combined
Ini akan memastikan bahwa alamat IP asli klien dicatat dalam log.
Setelah melakukan perubahan ini, restart kedua layanan Nginx dan Apache untuk menerapkan konfigurasi baru:
sudo systemctl restart nginx
sudo systemctl restart apache2
Dengan konfigurasi ini, log di server Apache seharusnya mencatat alamat IP asli dari klien yang mengakses server Anda melalui Nginx reverse proxy.