翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リスナールールの変換
ルール変換は、ターゲットにルーティングされる前にインバウンドリクエストを書き換えます。リクエストを書き換えても、ルール条件を評価する際のルーティングの決定は変更されません。これは、クライアントがターゲットが期待するのとは異なる URL またはホストヘッダーを送信する場合に便利です。
ルール変換を使用すると、パス、クエリ文字列、ホストヘッダーを変更する責任がロードバランサーにオフロードされます。これにより、アプリケーションコードにカスタム変更ロジックを追加したり、サードパーティーのプロキシを使用して変更を実行したりする必要がなくなります。
Application Load Balancer は、リスナールールの次の変換をサポートしています。
変換
host-header-rewrite-
リクエストのホストヘッダーを書き換えます。変換は正規表現を使用してホストヘッダーのパターンを照合し、それを置換文字列に置き換えます。
url-rewrite-
リクエスト URL を書き換えます。変換は正規表現を使用してリクエスト URL のパターンを照合し、それを置換文字列に置き換えます。
変換の基本
-
ルールごとに 1 つのホストヘッダー書き換え変換と 1 つの URL 書き換え変換を追加できます。
-
変換をデフォルトルールに追加することはできません。
-
パターンが一致しない場合、元のリクエストがターゲットに送信されます。
-
パターンが一致しても変換が失敗した場合、HTTP 500 エラーが返されます。
ホストヘッダーの書き換え変換
ホストヘッダーで指定されたドメイン名を変更できます。
例 ホストヘッダー変換の例
ルールを作成または変更するときに、変換を指定できます。詳細については、create-rule および modify-rule コマンドを参照してください。ホストヘッダー変換の例を次に示します。ホストヘッダーを内部エンドポイントに変換します。
[ { "Type": "host-header-rewrite", "HostHeaderRewriteConfig": { "Rewrites": [ { "Regex": "^mywebsite-(.+).com$", "Replace": "internal.dev.$1.myweb.com" } ] } } ]
たとえば、この変換はホストヘッダーを https://mywebsite-example.com/project-aとして書き換えますhttps://internal.dev.example.myweb.com/project-a。
URL 書き換え変換
URL のパスまたはクエリ文字列を変更できます。ロードバランサーレベルで URL を書き換えることで、バックエンドサービスが変更されても、フロントエンド URLsはユーザーと検索エンジンで一貫性を保つことができます。複雑な URL クエリ文字列を簡素化して、お客様が簡単に入力できるようにすることもできます。
URL のプロトコルまたはポートは変更できず、パスとクエリ文字列のみを変更できることに注意してください。
例 URL 書き換え変換の例
ルールを作成または変更するときに、変換を指定できます。詳細については、create-rule および modify-rule コマンドを参照してください。URL 書き換え変換の例を次に示します。ディレクトリ構造をクエリ文字列に変換します。
[ { "Type": "url-rewrite", "UrlRewriteConfig": { "Rewrites": [ { "Regex": "^/dp/([A-Za-z0-9]+)/?$", "Replace": "/product.php?id=$1" } ] } } ]
たとえば、この変換はリクエスト URL を https://www.example.com/dp/B09G3HRMWとして書き換えますhttps://www.example.com/product.php?id=B09G3HRMW。
URL の書き換えと URL リダイレクトの違い
| 特性 | URL リダイレクト | URL の書き換え |
|---|---|---|
| URL 表示 | ブラウザのアドレスバーの変更 | ブラウザのアドレスバーに変更はありません |
| ステータスコード | 301 (永続的) または 302 (一時的) を使用 | ステータスコードの変更なし |
| Processing | ブラウザ側 | サーバー側 |
| 一般的な用途 | ドメインの変更、ウェブサイトの統合、壊れたリンクの修正 | SEO の URLsクリーンアップ、複雑な構造の非表示、レガシー URL マッピングの提供 |