Как контролировать URL-адрес, который генерирует Django?

Как я могу заставить Django генерировать статические URL-адреса, используя static.mywebsite.com вместо static.mywebsite.com.s3.amazonaws.com?

Корзина S3, используемая для статических файлов, работает, когда я использую имя корзины без точек. Но с ведром, использующим периоды, это дает Failed to load resource: net::ERR_INSECURE_RESPONSE

Причина, по которой я пытаюсь использовать ведро с точками, заключается в том, что в этом руководстве и двух сообщениях StackOverflow говорится, что это необходимо для получения адреса static.mywebsite.com вместо mywebsite-static.s3.amazaonaws.com:

http://carltonbale.com/how-to-alias-a-domain-name-or-sub-domain-to-amazon-s3/

как назначить поддомен для корзины s3?

Amazon S3: статические веб-сайты: пользовательский домен или субдомен

И это, кажется, работает; когда я просматриваю static.mywebsite.com, я получаю XML от S3 с сообщением AccessDenied. В последней ссылке выше пользователь комментирует, спрашивая, будет ли это работать с HTTPS. Сначала кажется, что нет.

После проверки URL-адреса статических файлов, сгенерированных Django, по-прежнему используют адрес static.mywebsite.com.s3.amazonaws.com. Если я правильно понимаю, это проблема сертификата HTTPS из-за периодов создания дополнительных слоев поддоменов.

Итак, я изменил настройки для использования:

STATIC_URL = 'https://%s.mywebsite.%s/' % ('static', 'com')

Но это привело к созданию static.s3.amazonaws.com.

Как я могу заставить Django генерировать URL-адреса, используя static.mywebsite.com?


person davidtgq    schedule 28.01.2016    source источник