2016-11-22 2 views
0

Для URL видаРедактирование AWS S3 правила Ковш переназначения для перенаправления к парам (URL) того же URL

https://www.example.com/i/http://some-image-url.png

Можно ли redirct к http://some-image-url.png (парам после того как я /)?

с правлением Редактирование правила перенаправления сайта AWS S3 bucket.

<RoutingRules> 
<RoutingRule> 
    <Condition> 
     <KeyPrefixEquals>i/</KeyPrefixEquals> 
    </Condition> 
    <Redirect> 
     [[config for redirecting to http://some-image-url.png]] 
    </Redirect> 
</RoutingRule> 

Doc Ссылка: http://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html#configure-bucket-as-website-routing-rule-syntax

+0

Какой вариант использования такой конфигурации? –

+0

Мне нужно обслуживать сторонние медиафайлы по https (читайте cloudFront). –

+0

Хорошо, поэтому ... используйте CloudFront, с удаленным сервером, указанным как исходный сервер ... не S3. Переадресации S3 не помогут вам - они ** перенаправляют ** - не обратное проксирование, а CloudFront не выполняет перенаправление, он просто возвращает перенаправление обратно в браузер. –

ответ

1

Из опыта, хотя в прошлом году, правила и условия маршрутизации не позволяют символы, однако вы можете перенаправить на другой хост, так что вы должны что-то вроде

<?xml version="1.0"?> 
<RoutingRules> 
    <RoutingRule> 
    <Condition> 
     <KeyPrefixEquals>i/http://some.image.host/some-image.png</KeyPrefixEquals> 
    </Condition> 
    <Redirect> 
     <HostName>some.image.host</HostName> 
     <ReplaceKeyPrefixWith>some-image-url.png</ReplaceKeyPrefixWith> 
    </RoutingRule> 
</RoutingRules> 
+0

Что делать, если http://some.image.host является динамическим, невозможно жестко закодировать права каждого домена? –

+0

Правильно, вам нужно жестко запрограммировать каждый переадресации, поэтому, если он динамический, вам нужно будет вычислить перед S3, например nginx или haproxy в эластичном beanstalk, для ваших переадресаций – NHol