ドキュメント/ 内部仕様

代理とリクエストヘッダー

このページでは、ネットワーク制限、認証情報ごとに異なる送信経路、アップストリームが要求するヘッダーなど、非標準のケースを扱います。該当しなければ読む必要はありません。

いつ必要か§

よくあるケース:

  • サーバーから到達できないアップストリームがある — そのリクエストをプロキシ経由で送信します。
  • 認証情報ごとに異なる送信経路を使う — たとえば地域ごとに振り分けます。
  • アップストリームが要求するリクエストヘッダー — 一部の中継サービスは送信元の識別子を確認します。

該当する要件がなければ、このページの設定はすべて空欄のままにします。

アウトバウンドプロキシ§

代理設定には3つのモードがあります:

  • 継承 — 上位レベルの設定を使います。これがデフォルトです。
  • 直接接続 — プロキシを明示的に使わず、上位レベルで設定されていてもバイパスします。
  • カスタム — プロキシアドレスを指定します。
直接接続は継承を意味しません

この二つは混同しやすいです。継承は「上位に従う」、上位がプロキシを設定していればプロキシを使います。直接接続は「明確に使わない」で、特定の認証情報に例外を設定するためです。たとえば、ほとんどのアップストリームはプロキシを必要としますが、イントラネット内の1つだけはプロキシ経由だと接続できません。

4 階層のオーバーライド§

プロキシは 4 つの階層で設定でき、より具体的な設定が優先されます。優先順位の全体は、認証情報 → Group → グローバル → 環境変数 → 直接接続 の順です。

  1. 環境変数 —— HTTP_PROXYHTTPS_PROXY、プロセスレベルのフォールバック出口です。上の 3 階層がいずれも明示指定していない場合にのみ有効で、変更後はプロセスの再起動が必要です
  2. グローバル —— 管理画面で設定するデフォルトの出口
  3. Group — グローバル設定を上書きし、このGroupのすべての認証情報に適用します。
  4. 単一の認証情報 — Groupを上書きし、この認証情報だけに適用します。
環境変数は最初ではなく最後の層です

管理画面で 継承 を選んだときにのみ、次の階層へと探索が続きます。すべてが継承の場合、最終的に HTTP_PROXY のような環境変数に到達します。したがって管理画面でグローバルプロキシを設定すると、環境変数は効かなくなります。逆に、いずれかの階層で 直接接続 を選んだ場合も、環境変数は有効になりません。
これら 3 つの変数については 環境変数 ページで詳しく説明しています。

認証情報レベルは、多くのゲートウェイにはない層です。実際の用途:同じサービスプロバイダの複数のアカウントが異なる地域に属する場合、各自が対応する地域の出口からアクセスする必要があります。そうしないと異地ログインと判定されます。

リクエストヘッダールール§

転送前にアップストリームへのリクエストヘッダーを変更できます。追加削除の2種類の操作をサポートします。設定はグローバルとGroupの2レベルに分かれています。

典型的な用途:

  • アップストリームが要求する識別ヘッダーを追加 — 一部の中継サービスは特定の送信元マーカーを必要とします。
  • クライアントが付加した不要なヘッダーを削除 — 一部のクライアントはトラッキングヘッダーを送信し、アップストリームが拒否する場合があります。
認証ヘッドに触るな

認証関連のヘッダーはゲートウェイ自身が管理します——選択した認証情報に応じて動的に入力する必要があります。ルールで変更するとリクエストは失敗します。

使用オプション注入§

一部のアップストリームはデフォルトでトークン使用量を返しません。そのためリクエストで明示的に指定する必要があります。使用量オプションを有効にすると、ゲートウェイが自動的に追加します。

影響するのは統計とコスト見積もりの完全性です——使用量データのないリクエストは、モニターページで「使用量欠損」としてカウントされ、コスト見積もりは生成されません。

もしあるGroupのコスト見積もりが明らかに低すぎる、または「使用量データなし」の数値が多い場合、まずこのスイッチを確認してください。詳しくは監視とトラブルシュートを参照してください。

設定場所は実行時設定を参照してください。

プロキシとリクエストヘッダー - GPT-Load