次のセットアップがあります。
(internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ]
[running HAproxy] --+--> [ Apache / PHP server ]
+--> [ Apache / PHP server ]
\-> [ Apache / PHP server ]
HTTPは、これが機能要求のための偉大な、要求がうまく私のApacheサーバに配布されています。SSLリクエストの場合、TCP負荷分散を使用してHAproxyでリクエストを分散しましたが、HAproxyはプロキシとして機能せず、X-Forwarded-For
HTTPヘッダーを追加せず、Apache / PHPサーバーはクライアントの実際のIPアドレス。
そのため、stunnel
stunnelがX-Forwarded-For
HTTPヘッダーを追加できることを読んで、HAproxyの前に追加しました。ただし、pfSenseにインストールできるパッケージはこのヘッダーを追加しません...また、これはKeepAliveリクエストを使用する機能を強制的に無効にします。しかし、そのアイデアを殺した最大の問題は、stunnelがHTTPSリクエストをプレーンなHTTPリクエストに変換したため、PHPがSSLが有効になっていることを知らず、SSLサイトにリダイレクトしようとしたことです。
HAproxyを使用して複数のSSLサーバー間で負荷を分散し、それらのサーバーがクライアントのIPアドレスと SSLが使用されていることを知るにはどうすればよいですか?そして、可能であれば、pfSenseサーバーでどうすればよいですか?
または、これをすべて削除してnginxを使用する必要がありますか?
X-Forwarded-For
を参照してください。