Message Processor の 405 プロパティに ignore allow ヘッダーを構成する

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

<ph type="x-smartling-placeholder">

クライアント / サーバー通信では、次の場合、サーバーは HTTP ステータス コード 405 Method Not Allowed を返します。 <ph type="x-smartling-placeholder"></ph> クライアントによって提示された HTTP リクエスト メソッドがサーバーで認識されている ターゲット リソースではサポートされていません。Apigee Edge でも同様に、バックエンド サーバーを HTTP ステータス コード 405 Method Not Allowed. を返す

Apigee Edge は、バックエンド サーバーが 405 Method Not Allowed レスポンスを送信することを想定している 仕様に従って、Allow ヘッダーで許可されるメソッドのリスト <ph type="x-smartling-placeholder"></ph> RFC 7231、セクション 6.5.5: 405 Method Not Allowed をご覧ください。

Allow ヘッダーは次の形式で送信する必要があります。

Allow: HTTP_METHODS

たとえば、バックエンド サーバーが GETPOST、および HEAD メソッドを使う場合は、Allow ヘッダーにそれらが含まれるようにする必要があります。 次のとおりです。

Allow: GET, POST, HEAD

バックエンド サーバーが Allow ヘッダーを HTTP ステータス コードとともに送信しない場合 405 Method Not Allowed, の場合、Apigee は HTTP ステータス コード 502 Bad Gateway とエラーコード protocol.http.Response405WithoutAllowHeader を返します。 クライアント アプリケーションで使用できます。このエラーへの対処方法として推奨される解決策は次のとおりです。 バックエンド サーバーを修正して仕様に準拠させる <ph type="x-smartling-placeholder"></ph> RFC 7231、セクション 6.5.5: 405 Method Not Allowed を参照するか、障害処理を使用して HTTP ステータス コード 405 Method Not Allowed を返します。 トラブルシューティング ハンドブックに記載されている Allow ヘッダー 502 Bad Gateway - Response 405 without Allow

ただし、例外的にバックエンドを修正したり、 API プロキシを使用して、この問題にすぐに対処する必要があります。

このような場合は、405 プロパティに ignore allow ヘッダーを設定します。 HTTP.ignore.allow_header.for.405 一時的に Message Processor レベルに維持します。このプロパティを true に設定すると、Apigee は クライアント アプリケーションに 502 Bad Gateway レスポンスを返すことは、 バックエンド サーバーが HTTP ステータス コード 405 Method Not AllowedAllow ヘッダー。

Allow ヘッダー付きの HTTP ステータス コード 405 Method Not Allowed を送信するようにバックエンド サーバーを修正する準備ができたら、プロパティを元に戻すことができます。 HTTP.ignore.allow_header.for.405 をデフォルト値の false に変更します。

<ph type="x-smartling-placeholder">

始める前に

このドキュメントの手順を使用する前に、次のトピックを理解しておいてください。

Message Processor で 405 プロパティの ignore allow ヘッダーを true に構成する

Apigee Edge では、プロパティ HTTP.ignore.allow_header.for.405 は次のように設定されています。 デフォルトは false です。これにより、Apigee Edge はエラーコード protocol.http.Response405WithoutAllowHeader502 Bad Gateway を バックエンド サーバーが Allow ヘッダーなしで HTTP ステータス コード 405 Method Not Allowed を送信した場合。Apigee Edge が侵入しないようにするには、 502 Bad Gateway をクライアント アプリケーションに送信する場合は、次の値を設定する必要があります。 メッセージのプロパティ HTTP.ignore.allow_header.for.405 から true 決済代行業者。

このセクションでは、プロパティの設定方法について説明します。 HTTP.ignore.allow_header.for.405true着 Message Processor で、次の構文に従ってトークンを使用 <ph type="x-smartling-placeholder"></ph> Edge の構成方法をご覧ください。

<ph type="x-smartling-placeholder">
  1. Message Processor マシンで、次のファイルをエディタで開きます。オンになっていない場合 作成します。

    /opt/apigee/customer/application/message-processor.properties
    

    たとえば、 vi で、次のコマンドを入力します。

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. プロパティ ファイルに次の形式の行を追加します。
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  3. 変更を保存します。
  4. 以下に示すように、プロパティ ファイルの所有者が apigee ユーザーであることを確認します。
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. 次のように Message Processor を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. 複数の Message Processor がある場合は、すべての Message Processor に対して上記の手順を繰り返します 決済代行業者。

Message Processor で 405 プロパティの ignore allow ヘッダーが true に設定されていることを確認する

このセクションでは、プロパティが HTTP.ignore.allow_header.for.405true に更新しました について学びました

トークン conf_http_HTTP.ignore.allow_header.for.405 を使用して更新しても、 Message Processor のプロパティ値を確認するには、実際のプロパティが HTTP.ignore.allow_header.for.405true に設定されました。

  1. Message Processor マシンで、次のプロパティを検索します。 HTTP.ignore.allow_header.for.405/opt/apigee/edge-message-processor/conf ディレクトリに移動して、 以下に示すように、true に設定されています。
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Message Processor でプロパティが正常に更新された場合、上記のコマンドは プロパティ HTTP.ignore.allow_header.for.405 の値が次のように表示されます。 次のように、http.properties ファイル内の true を追加します。
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. プロパティ HTTP.ignore.allow_header.for.405 の値が次のように表示されている場合は、 false に記載されているすべての手順を完了していることを確認します。 Google Cloud コンソールで 405 プロパティの ignore allow ヘッダーを true に構成する Message Processor を正しく使用する必要があります。途中のステップを抜かした場合は、もう一度すべてのステップをやり直してください。 確認します。
  4. それでもプロパティを変更できない場合 HTTP.ignore.allow_header.for.405後に Apigee Edge サポートに連絡してください。

Message Processor で 405 プロパティの ignore allow ヘッダーを false に構成する

このセクションでは、プロパティの設定方法について説明します。 HTTP.ignore.allow_header.for.405 をデフォルト値 false に戻します Message Processor 上で、次の構文に従ってトークンを使用します。 Edge の構成方法

  1. プロパティ HTTP.ignore.allow_header.for.405 が次のように変更されているかどうかを確認します。 true。この宿泊施設を検索して /opt/apigee/edge-message-processor/conf ディレクトリ内のファイルを確認し、 値を使用します。
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Message Processor でプロパティが true に設定されている場合、上記のコマンドは プロパティ HTTP.ignore.allow_header.for.405 の値が次のように表示されます。 次のように、http.properties ファイル内の true
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. 上記のコマンドでプロパティ HTTP.ignore.allow_header.for.405 が示されている場合、 が false(デフォルト値)に設定されている場合は、何もする必要はありません。つまり 以降のステップはスキップします
  4. プロパティ HTTP.ignore.allow_header.for.405true に設定されている場合: 次の手順を実行して、デフォルト値の false に戻します。
  5. Message Processor マシンで、次のファイルをエディタで開きます。

    /opt/apigee/customer/application/message-processor.properties
    

    たとえば、 vi で、次のコマンドを入力します。

    vi /opt/apigee/customer/application/message-processor.properties
    
  6. プロパティ ファイルから次の行を削除します。
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  7. 変更を保存します。
  8. 以下に示すように、プロパティ ファイルの所有者が apigee ユーザーであることを確認します。
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  9. 次のように Message Processor を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  10. 複数の Message Processor がある場合は、すべての Message Processor に対して上記の手順を繰り返します 決済代行業者。

Message Processor で 405 プロパティの ignore allow ヘッダーが false に設定されていることを確認する

このセクションでは、プロパティが HTTP.ignore.allow_header.for.405false に更新しました について学びました

トークンや conf_http_HTTP.ignore.allow_header.for.405: メッセージの値を更新します。 決済代行業者は、実際のプロパティ HTTP.ignore.allow_header.for.405false に設定されました。

  1. Message Processor マシンで、次のプロパティを検索します。 /opt/apigee/edge-message- processor/conf ディレクトリ内の HTTP.ignore.allow_header.for.405 を実行し、次に示すように false に設定されているかどうかを確認します。 下にあります。
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Message Processor でプロパティが正常に更新された場合、上記のコマンドは プロパティ HTTP.ignore.allow_header.for.405 の値が次のように表示されます。 次のように、http.properties ファイル内の false を追加します。
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
    
  3. プロパティ HTTP.ignore.allow_header.for.405 の値が次のように表示されている場合は、 true の手順をすべて完了していることを確認します。 <ph type="x-smartling-placeholder"></ph> Message Processor で 405 プロパティの ignore allow ヘッダーを false に構成する 確認します。途中を抜けた場合は、すべての手順を正しく繰り返します。
  4. それでもプロパティを変更できない場合 HTTP.ignore.allow_header.for.405後に Apigee Edge サポートに連絡してください。