Я размещаю несколько сайтов на моем VPS, некоторые «статические» и некоторые динамические (WordPress). Статические сайты (статические страницы PHP) «уважают» заголовки, которые я установил в разделе nginx conf, http. Пример:
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
add_header X-Cache $upstream_cache_status;
Заголовок:
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 16 Sep 2014 17:09:04 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Cache: HIT
Strict-Transport-Security: max-age=31536000; includeSubdomains;
Вместо этого на сайтах WordPress не установлены следующие заголовки:
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 16 Sep 2014 17:08:25 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Pingback: http://website.com/xmlrpc.php
Link: <http://wp.me/P4zIfv-2>; rel=shortlink
X-UA-Compatible: IE=Edge,chrome=1
Два сайта имеют одинаковый конфиг vhost! Конечно, liste, имя_сервера, индекс ecc .. и затем местоположения:
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_cache website.com;
fastcgi_cache_valid 200 20m;
fastcgi_cache_bypass $no_cache;
fastcgi_no_cache $no_cache;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
Почему это происходит с WP?
Увидеть: nginx add_header не работает
«Вторая проблема заключалась в том, что блок location / {}, который у меня был, фактически отправлял nginx в другой блок ~ * (.php) $ (потому что он будет пересылать все запросы через index.php, и это фактически заставляет nginx обрабатывать это). Блок php. Итак, мои директивы add_header внутри первой директивы location оказались бесполезными, и они начали работать после того, как я поместил все необходимые директивы в директиву php location. «
Смотрите также: https://gist.github.com/adityamenon/6753574
Так что положите их ВНУТРИ блока вашего местоположения
Других решений пока нет …