¿Cuál es la forma correcta de habilitar los encabezados de juego de caracteres correctos en NGINX?
Estoy analizando mi sitio web con Google Page Speed. Dice que debería especificar el juego de caracteres de los archivos HTML en los encabezados HTTP. ¿Cuál es la forma correcta de hacer esto?
Ya intenté establecer charset utf-8;
la server {}
declaración de mi archivo de configuración NGINX, pero no tuvo ningún efecto.
Mi servidor responde con el siguiente encabezado:
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
Gracias.
Respuestas:
Agregar
charset utf-8;
es prácticamente todo lo que necesitas hacer. ¿Está seguro de que no olvidó volver a cargar nginx después de cambiar el archivo de configuración?Además al momento de escribir, curl -I http://vorb.de/ devuelve el siguiente resultado:
Entonces todo se ve bien ahora.
fuente
Establecer el juego de caracteres podría no funcionar si no configura la directiva "charset_types" que desea para UTF-8.
Por ejemplo: cuando configura "charset utf-8;", todo HTML se reflejará, pero no los archivos JSON, porque no están configurados de manera predeterminada en "charset_types".
http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
fuente
Es posible que también deba ajustar la
charset_types
configuración para incluir el tipo mime para el que desea establecer la configuración del juego de caracteres (por ejemplo, el texto / calendario no está incluido allí de forma predeterminada).Por lo que vale, creo que
text/*
debería manejarse de forma predeterminada, pero no puede usarlo aquí (como con Apache IIRC).Ver http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
fuente
Es lo que necesitas No funcionará para mí a menos que tenga ambos.
fuente