Як увімкнути правильний HTTP-заголовок charset у NGINX


39

Який правильний спосіб увімкнути правильні заголовки діаграм у NGINX?

Я аналізую свій веб-сайт зі швидкістю Google Page. У ньому сказано, що я повинен вказати набір HTML-файлів у заголовках HTTP. Який правильний спосіб це зробити?

Я вже намагався встановити charset utf-8;в server {}декларації мій файл конфігурації NGINX, але це не дало жодного ефекту.

Мій сервер відповідає наступним заголовком:

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

Дякую.


Посилання більше не працює.
Поті Калімуту

Відповіді:


38

Додавання charset utf-8;майже все, що вам потрібно зробити. Ви впевнені, що не забули завантажити nginx після зміни файлу конфігурації?

Крім того, на момент написання, curl -I http://vorb.de/ повертає такий результат:

HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Fri, 16 Sep 2011 13:20:03 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1705
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Connection: keep-alive
Vary: Accept-Encoding
Accept-Ranges: bytes

Тому зараз все виглядає нормально.


22

Налаштування діаграми може не спрацювати, якщо ви не встановите директиву "charset_types", яку потрібно UTF-8.

Наприклад: Коли ви встановите "charset utf-8;", всі HTML будуть відображати, але не JSON файли, оскільки вони не встановлені за замовчуванням для "charset_types".

http://nginx.org/uk/docs/http/ngx_http_charset_module.html#charset_types


5

Можливо, вам доведеться також відрегулювати charset_typesналаштування для включення типу mime, для якого потрібно встановити параметр charset (наприклад, текст / календар не включений туди за замовчуванням).

Для того, що варто, я думаю, що це text/*слід обробляти за замовчуванням, але ви не можете його використовувати тут (як у Apache IIRC).

Дивіться http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types


2
    charset utf-8;
    source_charset utf-8;

Це те, що вам потрібно. Це не спрацює для мене, якщо у мене немає обох.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.