2013-03-11 2 views
0

Приложение для пирамиды позволяет пользователям с сайта www.domain.com создавать новые html-страницы в ведро amazon s3 (назовите его «testbucket»). прямо сейчас, когда страница создана, пользователь перенаправляется на https://s3.amazonaws.com/testbucket/(some uuid). Я хочу, чтобы он перенаправлял их на www.subdomain.domain.com/(someuuid), где хранится этот html. Сейчас эта линия на мой взгляд, вызываемая (views.py)Как я могу указать свои страницы amazon s3 в пользовательский домен?

return HTTPFound(location="https://s3.amazonaws.com/testbucket/%(uuid)s" % {'uuid':uuid}) 

Ive читать (http://carltonbale.com/how-to-alias-a-domain-name-or-sub-domain-to-amazon-s3/), что для того, чтобы сделать это мне нужно создать ведро на моей амазонки s3 счет называется subdomain.domain.com и затем cname это на s3.amazon.com. (Зачем?). Что же мне следует поместить в мой обратный вызов HTTPFound? Если это так:

return HTTPFound(location="https://s3.amazonaws.com/subdomain.domain.com/%(uuid)s" % {'uuid':uuid}) 

Это не имеет никакого смысла для меня. Что это будет?

ответ

2

Если вы создаете запись CNAME (конечная точка - это причуда работы DNS, это означает, что домен полностью квалифицирован), тогда вам не нужно указывать s3.amazonaws.com. Вместо этого вы можете перенаправить на http://subdomain.domain.com/your_object_here.

Обратите внимание, что Amazon не имеет сертификата SSL для вашего домена, поэтому, если вы хотите получить к нему доступ через SSL, вам необходимо будет подключиться к s3.amazonaws.com (или bucket_name_here.s3.amazonaws.com).

Насколько я знаю, S3 в настоящее время не реализует средства для предоставления собственного SSL-сертификата (и даже если бы это было так, вероятно, было бы необходимо использовать функцию с именем Server Name Indication, которая еще не поддерживается повсеместно) ,

+0

ssl в сторону, вы говорите, что я должен cname subdomain.domain.com на http://subdomain.domain.com/object_name? Это не имеет никакого смысла. Что мне следует включить в возвращаемый оператор HTTPFound? – BigBoy1337

+0

Нет, CNAME 'subdomain.domain.com' to' s3.amazonaws.com.'. Тогда 'http: // subdomain.domain.com/your_uuid_here' будет работать нормально. Таким образом, ваш оператор перенаправления становится 'return HTTPFound (location =" http://subdomain.domain.com/%(uuid)s "% {'uuid': uuid})' –

Смежные вопросы