<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
クライアント / サーバー通信では、次の場合、サーバーは 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
たとえば、バックエンド サーバーが GET
、POST
、および
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 Allowed
を
Allow
ヘッダー。
Allow
ヘッダー付きの HTTP ステータス コード 405 Method
Not Allowed
を送信するようにバックエンド サーバーを修正する準備ができたら、プロパティを元に戻すことができます。
HTTP.ignore.allow_header.for.405
をデフォルト値の false
に変更します。
始める前に
このドキュメントの手順を使用する前に、次のトピックを理解しておいてください。
- ハンドブックを読む - <ph type="x-smartling-placeholder"></ph> 502 Bad Gateway - response 405 without Allow ヘッダー
- プライベート クラウド上の Edge のプロパティの構成についてよく理解していない場合は、 Edge の構成方法
Message Processor で 405 プロパティの ignore allow ヘッダーを true に構成する
Apigee Edge では、プロパティ HTTP.ignore.allow_header.for.405
は次のように設定されています。
デフォルトは false
です。これにより、Apigee Edge はエラーコード protocol.http.Response405WithoutAllowHeader
の 502 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.405
発true
着
Message Processor で、次の構文に従ってトークンを使用
<ph type="x-smartling-placeholder"></ph>
Edge の構成方法をご覧ください。
-
Message Processor マシンで、次のファイルをエディタで開きます。オンになっていない場合 作成します。
/opt/apigee/customer/application/message-processor.properties
たとえば、 vi で、次のコマンドを入力します。
vi /opt/apigee/customer/application/message-processor.properties
- プロパティ ファイルに次の形式の行を追加します。
conf_http_HTTP.ignore.allow_header.for.405=true
- 変更を保存します。
- 以下に示すように、プロパティ ファイルの所有者が
apigee
ユーザーであることを確認します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 複数の Message Processor がある場合は、すべての Message Processor に対して上記の手順を繰り返します 決済代行業者。
Message Processor で 405 プロパティの ignore allow ヘッダーが true に設定されていることを確認する
このセクションでは、プロパティが
HTTP.ignore.allow_header.for.405
を true
に更新しました
について学びました
トークン conf_http_HTTP.ignore.allow_header.for.405
を使用して更新しても、
Message Processor のプロパティ値を確認するには、実際のプロパティが
HTTP.ignore.allow_header.for.405
が true
に設定されました。
- 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
- 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
- プロパティ
HTTP.ignore.allow_header.for.405
の値が次のように表示されている場合は、false
に記載されているすべての手順を完了していることを確認します。 Google Cloud コンソールで 405 プロパティの ignore allow ヘッダーを true に構成する Message Processor を正しく使用する必要があります。途中のステップを抜かした場合は、もう一度すべてのステップをやり直してください。 確認します。 - それでもプロパティを変更できない場合
HTTP.ignore.allow_header.for.405
後に Apigee Edge サポートに連絡してください。
Message Processor で 405 プロパティの ignore allow ヘッダーを false に構成する
このセクションでは、プロパティの設定方法について説明します。
HTTP.ignore.allow_header.for.405
をデフォルト値 false
に戻します
Message Processor 上で、次の構文に従ってトークンを使用します。
Edge の構成方法。
- プロパティ
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
- 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
- 上記のコマンドでプロパティ
HTTP.ignore.allow_header.for.405
が示されている場合、 がfalse
(デフォルト値)に設定されている場合は、何もする必要はありません。つまり 以降のステップはスキップします - プロパティ
HTTP.ignore.allow_header.for.405
がtrue
に設定されている場合: 次の手順を実行して、デフォルト値のfalse
に戻します。 Message Processor マシンで、次のファイルをエディタで開きます。
/opt/apigee/customer/application/message-processor.properties
たとえば、 vi で、次のコマンドを入力します。
vi /opt/apigee/customer/application/message-processor.properties
- プロパティ ファイルから次の行を削除します。
conf_http_HTTP.ignore.allow_header.for.405=true
- 変更を保存します。
- 以下に示すように、プロパティ ファイルの所有者が
apigee
ユーザーであることを確認します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 複数の Message Processor がある場合は、すべての Message Processor に対して上記の手順を繰り返します 決済代行業者。
Message Processor で 405 プロパティの ignore allow ヘッダーが false に設定されていることを確認する
このセクションでは、プロパティが
HTTP.ignore.allow_header.for.405
を false
に更新しました
について学びました
トークンや
conf_http_HTTP.ignore.allow_header.for.405
: メッセージの値を更新します。
決済代行業者は、実際のプロパティ HTTP.ignore.allow_header.for.405
が
false
に設定されました。
- 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
- 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
- プロパティ
HTTP.ignore.allow_header.for.405
の値が次のように表示されている場合は、true
の手順をすべて完了していることを確認します。 <ph type="x-smartling-placeholder"></ph> Message Processor で 405 プロパティの ignore allow ヘッダーを false に構成する 確認します。途中を抜けた場合は、すべての手順を正しく繰り返します。 - それでもプロパティを変更できない場合
HTTP.ignore.allow_header.for.405
後に Apigee Edge サポートに連絡してください。