Qual é a maneira correta de ativar os cabeçalhos de charset corretos no NGINX?
Estou analisando meu site com o Google Page Speed. Ele diz que eu deveria especificar o conjunto de arquivos HTML nos cabeçalhos HTTP. Qual é a maneira certa de fazer isso?
Eu já tentei definir charset utf-8;
na server {}
declaração do meu arquivo de configuração NGINX, mas ele não tem nenhum efeito.
Meu servidor responde com o seguinte cabeçalho:
Connection: keep-alive
Date: Fri, 16 Sep 2011 12:43:24 GMT
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Server: nginx/0.7.67
Obrigado.
Respostas:
Adicionar
charset utf-8;
é praticamente tudo o que você precisa fazer. Tem certeza de que não se esqueceu de recarregar o nginx depois de alterar o arquivo de configuração?Além disso, no momento da escrita, curl -I http://vorb.de/ retorna o seguinte resultado:
Então, tudo parece bem agora.
fonte
A configuração do charset pode não funcionar se você não definir a diretiva "charset_types" que deseja UTF-8.
Por exemplo: Quando você define "charset utf-8;", todo o HTML reflete, mas não os arquivos JSON, porque eles não são definidos por padrão em "charset_types".
http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
fonte
Pode ser necessário também ajustar a
charset_types
configuração para incluir o tipo de mímica para o qual você deseja definir a configuração do conjunto de caracteres (por exemplo, texto / calendário não é incluído lá por padrão).Pelo que vale a pena, acho que
text/*
deve ser tratado por padrão - mas você não pode usá-lo aqui (como no Apache IIRC).Consulte http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
fonte
É o que você precisa. Não vai funcionar para mim, a menos que eu tenha os dois.
fonte