2017-10-20 6 views
0

私はherokuで1ページのアプリケーションをホスティングしています。そのために、Amazon Cloudfront、Route 53を使用しています。今私はソースコードに触れることなくいくつかの内部ルートを他のルートにリダイレクトしたいと思います。Heroku/Amazonクラウドフロント/ルートでリダイレクトする方法

http://example.com/foo -> http://example.com/bar 

例えば

は、いくつかのCloudFrontのか、ルート53の構成を持つことが可能ですか?

答えて

1

これはいくつかの方法で実行できます。

ラムダエッジ:@

あなたは、視聴者の要求のためのラムダエッジ関数を作成し、リダイレクトを実行することができます。

'use strict'; 
exports.handler = (event, context, callback) => { 
    /* 
    * Generate HTTP redirect response with 302 status code and Location header. 
    */ 
    const response = { 
     status: '302', 
     statusDescription: 'Found', 
     headers: { 
      location: [{ 
       key: 'Location', 
       value: 'http://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html', 
      }], 
     }, 
    }; 
    callback(null, response); 
}; 

参考: http://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html

API-ゲートウェイ:

は、HTTPプロキシを作成し、目的のURLへのリダイレクトを行います。 オリジンを作成し、この動作をクラウドフロントからこのapi-gatewayエンドポイントに関連付ける必要もあります。

ラムダとAPI-ゲートウェイ:

ANY統合とAPIゲートウェイへのURLを渡し、それはラムダになり、あなたは同じのために応答を返すことができます。

'use strict'; 

exports.handler = function(event, context, callback) { 
    var response = { 
     statusCode: 301, 
     headers: { 
      "Location" : "https://example.com" 
     }, 
     body: null 
    }; 
    callback(null, response); 
}; 

希望します。

関連する問題