Re: Каким образом можно заставить nginx возвращать заголовки Last-Modified и If-Modified-Since?

greenh greenh at gmail.com
Sun Nov 9 21:14:10 UTC 2014


Если я все правильно понял, то указанные заголовки возвращаются исходя из
даты изменения файла. Поскольку пхп возвращает динамический контент, то
такой информации у nginx нет и быть не может, и соответственно,
ответственность за заголовки лежит на бекенде
09.11.2014 20:33 пользователь "Sferg" <nginx-forum at nginx.us> написал:

> Здравствуйте, господа. Установлена связка nginx + php-fpm. При обращении к
> статичному контенту (html, jpg и т.д.) заголовок Last-Modified возвращается
> нормально, но не возвращается If-Modified-Since. Если же обращаюсь к
> динамичному контенту (php), то ни один из этих заголовков не возвращается.
> Подскажите, пожалуйста, каким образом можно заставить nginx возвращать
> заголовки Last-Modified и If-Modified-Since? В качестве средства проверки
> использую сайт http://last-modified.com/ru/if-modified-since.html.
>
> Вот мой конфиг nginx:
>
> user www-data www-data;
> worker_processes 2;
> worker_cpu_affinity 0101 1010;
> worker_rlimit_nofile 8192;
> worker_priority -5;
> timer_resolution 100ms;
> error_log /var/log/nginx/error.log warn;
> pid /var/run/nginx.pid;
>
> events {
>     worker_connections 2048;
>     multi_accept on;
>     accept_mutex on;
>     use epoll;
> }
>
> http {
>     include mime.types;
>     default_type application/octet-stream;
>     index index.html index.htm index.php;
>
>     upstream example.com {
>         server unix:/var/run/php5-fpm_example.com.sock max_fails=3
> fail_timeout=3s;
>     }
>
>     server {
>         listen *:80;
>         server_name example.com;
>         root /home/example.com/www;
>         access_log /var/log/nginx/access.log;
>
>         location ~ ^.+\.php(?:/.*)?$ {
>             fastcgi_pass example.com;
>             include fastcgi_params;
>             fastcgi_split_path_info ^(.+?\.php)(/.*)$;
>             if ($uri ~ ^(?<script_name>.+\.php)?(?<path_info>/.*)?$) {}
>
>             set $path_info_final $path_info;
>             if ($fastcgi_path_info != '') {
>                 set $path_info_final $fastcgi_path_info;
>             }
>
>             fastcgi_param PATH_INFO $path_info_final;
>
>             set $script_name_final '/index.php';
>             if ($script_name != '') {
>             set $script_name_final $script_name;
>             }
>
>             fastcgi_param SCRIPT_FILENAME $document_root$script_name_final;
>
>             if (!-e $document_root$script_name_final) {
>                 return 404;
>             }
>
>             fastcgi_param SCRIPT_NAME $script_name_final;
>
>             set $request_uri_final $request_uri;
>             if ($path_info_final != '') {
>                 set $request_uri_final $path_info_final$is_args$args;
>             }
>
>             fastcgi_param REQUEST_URI $request_uri_final;
>             fastcgi_index index.php;
>             fastcgi_next_upstream error timeout;
>             fastcgi_keep_conn on;
>             fastcgi_hide_header "X-Powered-By";
>         }
>
>         location / {
>             index index.html index.htm index.php;
>             try_files $uri $uri/ /index.html /index.htm /index.php;
>         }
>
>         location /blog {
>             try_files $uri $uri/ /blog/index.php?q=$uri&$args;
>         }
>
>         location ~ \.(htc|js|js2|js3|js4)$ {
>             expires 31536000s;
>             add_header Pragma "public";
>             add_header Cache-Control "max-age=31536000, public,
> must-revalidate, proxy-revalidate";
>         }
>
>         location ~ \.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$ {
>             expires 3600s;
>             add_header Pragma "public";
>             add_header Cache-Control "max-age=3600, public,
> must-revalidate,
> proxy-revalidate";
>         }
>
>         location ~
>
> \.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$
> {
>             expires 31536000s;
>             add_header Pragma "public";
>             add_header Cache-Control "max-age=31536000, public,
> must-revalidate, proxy-revalidate";
>         }
>
>     }
>
> }
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,254706,254706#msg-254706
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20141109/923f048e/attachment.html>


Подробная информация о списке рассылки nginx-ru