2015-12-29 3 views
3

Я немного тестировал сервер HTTP2 ShimmerCat, и я настроил на него обратный прокси, чтобы использовать Django. До сих пор все это работало как прелесть, но у меня есть сомнения. Прямо сейчас я обслуживаю статические файлы Django, используя подход, который Django должен обслуживать их в процессе разработки, а это означает, что я оставил настройки DEBUG=True, но, как мы все знаем, это не очень хорошая практика для производства. Есть ли способ, которым я могу использовать для статических файлов Django с самим ShimmerCat?Как обслуживать статические файлы Django с помощью ShimmerCat?

Здесь файл ShimmerCat конфигурации:

devlove.yaml:

--- 
    shimmercat-devlove: 
     domains: 
      www.mysite.com: 
       root-dir: site 
       consultant: 8000 
       cache-key: xxxxxxxxxxx 
      api.mysite.com: 
       port: 8000 

Могу ли я использовать subdomainstatic.mysite.com например, чтобы сделать это? Может ли конфигурация ниже быть хорошим решением?

devlove.yaml:

--- 
    shimmercat-devlove: 
     domains: 
      www.mysite.com: 
       root-dir: site 
       consultant: 8000 
       cache-key: xxxxxxxxxxx 
      static.mysite.com: 
       root-dir: site/django-app/static 
       consultant: 8000 
       cache-key: yyyyyyyyyyy 
      api.mysite.com: 
       port: 8000 

Конечно, мне нужно было бы сделать некоторые небольшие изменения на Django настройки, но я знаю, как справиться с этим. Любая помощь или предложение будут оценены. Заранее спасибо.

ответ

2

Страницы администратора Django генерируются динамически. К сожалению, это означает, что сервер не может надежно узнать об активах на этих страницах и не сможет использовать HTTP/2 PUSH для автоматического предоставления ресурсов. Но electric domains хорошо работают как обычные статические домены. Таким образом, ваш второй вариант в принципе правильный.

Однако при использовании протокола HTTP/2 стоимость использования файлов cookie должна быть достаточно низкой (сжатие HPACK должно складывать их), что вам не нужно использовать домен www и static. Вы, наверное, лучше, имея только одну из этих областей, скажем, www:

--- 
shimmercat-devlove: 
    domains: 
     www.mysite.com: 
      root-dir: site 
      consultant: 8000 
      cache-key: xxxxxxxxxxx 
     api.mysite.com: 
      port: 8000 

Это просто ваш первый пример! Но вам нужно скопировать статические активы Django в папку site.

+0

Большое спасибо за ваш быстрый ответ @dign :). Мне очень понравились детали, которые вы мне дали, и это имеет смысл. Я проверю ваше предложение, но он должен работать наверняка;). Еще раз спасибо :) –

+0

он работал как шарм :). Я принимаю ваш ответ. Большое спасибо! –

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