Saya memiliki pengaturan berikut:
(internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ]
[running HAproxy] --+--> [ Apache / PHP server ]
+--> [ Apache / PHP server ]
\-> [ Apache / PHP server ]
Untuk permintaan HTTP ini berfungsi dengan baik , permintaan didistribusikan ke server Apache saya dengan baik. Untuk permintaan SSL, saya meminta HAproxy mendistribusikan permintaan menggunakan penyeimbangan beban TCP, dan itu berhasil karena HAproxy tidak bertindak sebagai proxy, itu tidak menambahkan X-Forwarded-For
header HTTP, dan server Apache / PHP tidak tahu klien alamat IP asli.
Jadi, saya menambahkan stunnel
di depan HAproxy, membaca bahwa stunnel dapat menambahkan X-Forwarded-For
header HTTP. Namun, paket yang saya dapat instal ke pfSense tidak menambahkan header ini ... juga, ini tampaknya membunuh kemampuan saya untuk menggunakan permintaan KeepAlive , yang ingin saya simpan. Tetapi masalah terbesar yang mematikan gagasan itu adalah bahwa stunnel mengubah permintaan HTTPS menjadi permintaan HTTP biasa, jadi PHP tidak tahu bahwa SSL diaktifkan dan mencoba mengalihkan ke situs SSL.
Bagaimana saya bisa menggunakan HAproxy untuk memuat saldo di sejumlah server SSL, memungkinkan server-server itu untuk mengetahui alamat IP klien dan mengetahui bahwa SSL sedang digunakan? Dan jika mungkin, bagaimana saya bisa melakukannya di server pfSense saya?
Atau haruskah saya menghentikan semua ini dan hanya menggunakan nginx?
X-Forwarded-For
, lihat di sini .