Eu tenho um site do Django onde os usuários postam imagens para toda a comunidade ver (como o 9gag).
Eu uso o armazenamento do Azure para salvar e veicular as imagens. O servidor web é um proxy reverso nginx + cocktail gunicorn. O gzip está instalado e funcionando no meu site Além disso, para armazenar em cache os recursos estáticos, tenho o seguinte no meu arquivo conf nginx:
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { root /home/mhb11/project/myproject; expires 24h; add_header Vary Accept-Encoding; access_log off; }
Meu problema é que, quando eu testo meu site com o plug-in do Google Page Speed, sou informado de que nenhuma das imagens exibidas do armazenamento do Azure está sendo armazenada em cache:
O que eu faço para habilitar o cache para isso? Por favor informar. Eu sou muito novo nisso, então qualquer assistência neste estágio será uma grande ajuda. Agradecemos antecipadamente e tenha um ótimo final de semana.
Este é o método def _save
da minha classe de armazenamento personalizada que envia um blob:
def _save(self,name,content):
blob_service = BlobService(account_name=accountName, account_key=accountKey)
import mimetypes
small_content = content
content.open()
content_type = None
if hasattr(content.file, 'content_type'):
content_type = content.file.content_type
else:
content_type = mimetypes.guess_type(name)[0]
content_str = content.read()
blob_service.put_blob(
'pictures',
name,
content_str,
x_ms_blob_type='BlockBlob',
x_ms_blob_content_type=content_type
)
Como eu configuro o Cache-Control dentro disso?