GUIを介して簡単に構成できるため、現在、サーバーでHAProxyパッケージを使用してpfSenseを使用しています。
このガイドに対応するリバース プロキシとして機能するように HAProxy を構成しました: https://blog.devita.co/pfsense-to-proxy-traffic-for-websites-using-pfsense/
SSL オフロードは魅力的に機能します。私が抱えている問題は、同じ内部 IP に複数のサービス (開いているポート) がある場合に、それが機能していないように見えることです。
例:
- ポート 8000 (10.100.10.101:8000) で Service1 の service1.domain.com を構成すると、問題なく動作します。
- ここで、別のサービスを使用して、同じマシン (例: 10.100.10.101:8082) に別のポートが必要です。同じ IP を指す別のバックエンドを別のポートで構成すると、service1.domain.com にアクセスしても、2 番目のサービス (service2.domain.com) にしか到達できません。
私の使用例は、Web GUI にポート 8000 を使用し、ファイルサーバーにポート 8082 を使用する Seafile をセットアップしようとしていることです。現在、Web GUI にはアクセスできますが、ファイルをアップロード、ダウンロード、または共有することはできません。
私の構成:
# 自動的に生成され、手動で編集しないでください。 # 生成日: 2018-09-29 19:24 グローバル マックスコン1000 統計ソケット /tmp/haproxy.socket レベルの管理者 gid 80 nbproc 1 ハードストップ後 15m chroot /tmp/haproxy_chroot デーモン tune.ssl.default-dh-param 8192 サーバー状態ファイル /tmp/haproxy_server_state ssl-default-bind-ciphers TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256 -GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE -RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets ssl-default-server-ciphers TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256 -GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE -RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 ssl-default-server-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets HAProxyLocalStats を聞く bind 127.0.0.1:2200 name localstats モード http 統計を有効にする TRUE の場合は統計管理者 統計ショーの伝説 統計 uri /haproxy/haproxy_stats.php?haproxystats=1 タイムアウト クライアント 5000 タイムアウト接続 5000 タイムアウト サーバー 5000 フロントエンド共有-フロントエンド-マージ バインド XXXX:443 名前 XXXX:443 ssl crt-list /var/etc/haproxy/shared-frontend.crt_list モード http ロググローバル オプション http-keep-alive オプション forwardfor acl https ssl_fc http-request set-header X-Forwarded-Proto http if !https http-request set-header X-Forwarded-Proto https if https タイムアウト クライアント 30000 http-response set-header Strict-Transport-Security max-age=15768000 acl aclcrt_shared-frontend var(txn.txnhost) -m reg -i ^([^\.]*)\.domain\.com(:([0-9]){1,5})?$ acl ACL1 var(txn.txnhost) -m str -i test.domain.com acl ACL2 var(txn.txnhost) -m str -i service1.domain.com acl ACL3 var(txn.txnhost) -m str -i service2.domain.com http-request set-var(txn.txnhost) hdr(ホスト) default_backend test.domain.com_ipv4 default_backend service1.domain.com_ipvANY default_backend service2.domain.com_ipvANY フロントエンド http-to-https バインド XXXX:80 名前 XXXX:80 モード http ロググローバル オプション http-keep-alive タイムアウト クライアント 30000 http-リクエスト リダイレクト スキーム https バックエンド test.domain.com_ipv4 モード http ID 10100 ロググローバル タイムアウト接続 30000 タイムアウト サーバー 30000 再試行 3 ソース ipv4@ usersrc clientip オプション httpchk GET / サーバー testvm-server01 10.100.10.101:54080 id 10101 チェック インター 1000 バックエンド service1.domain.com_ipvANY モード http ID 102 ロググローバル タイムアウト接続 30000 タイムアウト サーバー 30000 再試行 3 オプション httpchk GET / サーバー seafile-vm-01 10.100.10.103:8000 id 101 チェック インター 1000 バックエンド service2.domain.com_ipvANY モード http ID 104 ロググローバル タイムアウト接続 30000 タイムアウト サーバー 30000 再試行 3 オプション httpchk GET / サーバー seafile-vm-02 10.100.10.103:8082 id 103 チェック インター 1000
誰かが私を正しい方向に向けることができれば本当にうれしいです.事前に感謝します.さらに情報が必要な場合は教えてください.
よろしくお願いします、
バイオアイ