問題タブ [proxy-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - proxy_protocol を使用する場合、nginx で CIDR 範囲をブロックするより良い方法は何ですか?
AWS の ELB の背後にある nginx インスタンスの小さなプールがあります。この ELB はインターネットに接続されており、HTTP ではなく PROXY プロトコルを使用します。
これが私の関連セクションですmain.vhost
deny
のディレクティブを使用ngx_http_access_module
して、一連の CIDR ブロックへのアクセスを防止しようとしています。
EG:.conf
起動時にnginxによってロードされたファイル内:
dirに/etc/nginx/ip_block/
は少なくとも1つのファイルがあります:
ただし、nginx のdeny
ディレクティブは変数でのみ機能し、$remote_addr
変数では機能しないよう$proxy_protocol_addr
です。deny
これは事実上、ディレクティブと の両方を一緒に使用できないことを意味しproxy_protocol
ます。
モジュールを使用して の値をngx_stream_realip_module
値に調整できるように見えますが、私が利用できる nginx のビルドは現在、ビルド フラグで構成されていません。現在実行中ですが、ビルドでフラグが導入されたようです( https://github.com/nginx/nginx/commit/fe2774a9d689fa1bf201dd0e89449e3d9e4ad926 )$remote_addr
$proxy_protocol_addr
--with-stream_realip_module
1.10.3
with-stream_realip_module
1.11.4
オプション 1:必要な機能をコンパイルして、ソースから nginx のバージョンをビルドします。
ディレクティブのドキュメントを見ていると、次のdeny
メモが見つかりました。
出典: https://nginx.org/en/docs/http/ngx_http_access_module.html
これは、現在持っているnginxのバイナリで動作する可能性のあるCIDR範囲をブロックするという私の目標を達成するためのより良い方法があるかどうか疑問に思います.
私はこのようなことを試すことができます:
ファイルconf/some_cidr_ranges_to_block.conf
は次のようになります。
そして、サーバーディレクティブで次のようなことができます:
オプション 2:geo
ディレクティブとカスタム IP 範囲 -> 「国コード」データベースを使用してトラフィックをブロックしてみます。
私の質問:
kubernetes - Istio はプロキシ プロトコルをサポートしていますか?
Istio はプロキシ プロトコルをサポートしていますか?
TCP 転送とプロキシ プロトコル ("send-proxy" フラグ) を使用して、haproxy の背後にゲートウェイを設定しましたが、機能しません。
Envoy がサポートしていることは知っていますが、Istio はサポートしていないようです。
サポートされていない場合、ソース IP を取得する別の方法はありますか?
ご協力いただきありがとうございます。
python-3.x - Python から AWS ネットワーク ロード バランサーの背後にある場合のクライアント IP
IP で指定されたインスタンスを使用して、ネットワーク ロード バランサーの背後でソケット サーバーを実行すると、...
... それから...
ネットワーク ロード バランサー自体のプライベート IP のように見えるものを出力します。
元のクライアント IP を特定するにはどうすればよいですか?
spring-boot - Kubernetes: プロキシ プロトコルを有効にすると Tomcat が例外をスローする
私は今、ちょっと迷っています。Kubernetes クラスターをセットアップし、Spring Boot API と LoadBalancer をデプロイしましたが、問題なく動作しました。ここで、LoadBalancer でプロキシ プロトコルを有効にして実際のクライアント IP を保持したいと考えていますが、これを行うと、Spring Boot API は常に a を返し、400 Bad Request
anIllegalArgumentException
がスローされます。
短いスタック トレースを次に示します (IP アドレスをマスクしました)。
Hetzner のhcloud-cloud-controller-managerを使用しています。
ここに私のロードバランサーがあります:
これが私のSpring構成です:
お気づきかもしれませんが、私はすでにこの問題に基づいて転送ヘッダーを有効にしようとしました。
ご協力いただきありがとうございます!
load-balancing - vSphere Edge Gateway ロード バランサ プールのプロキシ プロトコル
vSphere Edge ゲートウェイ ロード バランサがリクエストのソース IP を取得し、それをプロキシ プロトコル TCP ヘッダーにラップして、vSphere の「トランスペアレント ロード バランシング」/DSR 機能を使用せずにロード バランサ プール/ターゲットの IP を保持する方法はありますか? ?
仮想サーバーに追加して実際の HAProxy スニペットで構成される「アプリケーション ルール」を定義する可能性を発見しましたが、これらのスニペットはフロントエンド レベルでのみ挿入されるようです (ドキュメントにも記載されています)。 HAProxy 構成。
残念ながら、フロントエンド ディレクティブを介してプロキシ プロトコル インジェクションを構成する可能性は見つかりませんでした。バックエンド ブロックでサーバーに send-proxy-v2 ディレクティブを使用するか、default-server ディレクティブ内でそれを使用することしかわかりませんでした。 defaults/backend ブロックで。
アプリケーション ルール以外の構成オプションを使用するか、フロントエンド内から send-proxy-v2 ディレクティブを構成できる HAProxy 構成トリックを使用して、バックエンド サーバーにプロキシ プロトコルを使用するように vSphere EGW を構成する方法はありますか?
問題の vSphere はバージョン 6.7U3 です