AWS CloudFront перенаправить на путь - PullRequest
0 голосов
/ 10 марта 2020

У меня есть дистрибутив CloudFront, который перенаправляет www.myapp.com в мою корзину S3, где хранится мой веб-сайт. В дистрибутиве используются CName www.myapp.com и Default Root Object "index. html".

Я также хочу перенаправить www.myapp.com/path в тот же сегмент, чтобы пользователи могли либо попасть на мой сайт через www.myapp.com и www.myapp.com/path.

Кто-нибудь знает, как использовать CloudFront для перенаправления пользовательского пути в корзину?

Ответы [ 2 ]

1 голос
/ 10 марта 2020
  1. Это не перенаправление, это поведение источника
  2. Вы можете установить различные Путь происхождения для источника и Шаблон пути для поведения. Поведение является целью, а происхождение является пунктом назначения
0 голосов
/ 10 марта 2020

Решено с использованием поведения для / path / и лямбда-функции по запросу источника:

exports.handler = async (event, context, callback) => {
    const response = {
        status: '301',
        statusDescription: 'Moved Permanently',
        headers: {
            location: [{
                key: 'Location',
                value: "https://" + event.Records[0].cf.request.headers.host[0].value.replace(".s3.amazonaws.com", ""),
            }],
        },
    };

    callback(null, response);
};
...