• Как отключить кэширование динамического контента в nginx?

    @proga111 Автор вопроса
    Lynn «Кофеман», Да я запутался в локальном и внешнем сервере и с перекачкой проверочного файла . Для внешнего сервера браузер отправляет IF modified и сейчас php ловит этот заголовок. На локальном сервере заголовок до сих пор не ловится, но я вижу и браузер не отправляет этот заголовок. Но это уже другая решаемая проблема, в любом случае спасибо вам, просто мне надо было быть внимательнее.
  • Как отключить кэширование динамического контента в nginx?

    @proga111 Автор вопроса
    Да проблема решена, if modified стал ловиться средствами php, на локальном openserver все еще пустая страница, видимо дело в разных настройках nginx. В любом случае спасибо за ответы, они мне помогли разобраться.
  • Как отключить кэширование динамического контента в nginx?

    @proga111 Автор вопроса
    Проверочный скрипт ( результат - пустая страница) : /ee1.php
    header('Last-Modified: '. gmdate("D, d M Y H:i:s GMT",strtotime('2021-10-16 13:35:57')));
     header('ETag: 1');
     $ist=$_ENV['HTTP_IF_MODIFIED_SINCE']??$_SERVER['HTTP_IF_MODIFIED_SINCE']??null;
     if ($ist!==null) echo $ist ;


    Браузер

    GENERAL
    Request URL: /ee1.php
    Request Method: GET
    Status Code: 200 
    Remote Address: 127.0.0.1:443
    Referrer Policy: strict-origin-when-cross-origin

    Response Headers
    content-length: 0
    content-type: text/html; charset=UTF-8
    date: Tue, 16 Nov 2021 17:28:41 GMT
    etag: 1
    last-modified: Sat, 16 Oct 2021 10:35:57 10OctGMT
    server: Apache

    Request Headers
    :authority: ***
    :method: GET
    :path: /ee1.php
    :scheme: https
    accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    accept-encoding: gzip, deflate, br
    accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
    cache-control: max-age=0
    cookie: tmr_lvid=3fad1f526ea7a4bb1ae429fb52e2953a; tmr_lvidTS=1621353719856; _ym_d=1621353720; _ym_uid=1621353720644599502; __utmc=111069661; PHPSESSID=5usde1cae2i7n1avo16qjm9cds6vkujt; __utmz=111069661.1636939150.658.32.utmcsr=webmaster.yandex.ru|utmccn=(referral)|utmcmd=referral|utmcct=/site/https:ip7979.com:443/indexing/indexing/; __utma=111069661.991166759.1621353720.1637001325.1637004832.668; lp=https%3A%2F%2Fip7979.com%2Fcatalog-uvelir-ekaterinburg%2Fgds%2F%3Fcat%3D1%26izd%3Dkolco%26subizd%3Dsbolkam%26pos%3D2; tmr_detect=0%7C1637009278130; tmr_reqNum=99711
    sec-ch-ua: "Google Chrome";v="95", "Chromium";v="95", ";Not A Brand";v="99"
    sec-ch-ua-mobile: ?0
    sec-ch-ua-platform: "Windows"
    sec-fetch-dest: document
    sec-fetch-mode: navigate
    sec-fetch-site: none
    sec-fetch-user: ?1
    upgrade-insecure-requests: 1
    user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
  • Как отключить кэширование динамического контента в nginx?

    @proga111 Автор вопроса
    server {

    listen %ip%:%httpport%;
    listen %ip%:%httpsport% ssl http2;

    server_name %host% %aliases%;
    root '%hostdir%';
    limit_conn addr 64;
    autoindex off;
    index index.php index.html index.htm;

    ssl_certificate '%sprogdir%/userdata/config/cert_files/server.crt';
    ssl_certificate_key '%sprogdir%/userdata/config/cert_files/server.key';

    # Disable access to hidden files/folders
    if ($uri ~* /\.(?!well-known)) {
    return 404;
    }

    # Disable MIME sniffing
    add_header X-Content-Type-Options 'nosniff' always;

    location ~* ^.+\.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv|svgz?|ttf|ttc|otf|eot|woff2?)$ {
    expires 1d;
    access_log off;
    }

    location / {


    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $http_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://%ips%:%httpbackport%/;
    }

    location ^~ /apacheicons/ {
    alias %sprogdir%/modules/http/%httpdriver%/icons/;
    }

    location ^~ /apacheerror/ {
    alias %sprogdir%/modules/http/%httpdriver%/error/;
    }

    # Service configuration (do not edit!)
    # ----------------------------
    location /openserver/ {
    root '%sprogdir%/modules/system/html';
    autoindex off;
    index index.php index.html index.htm;

    %allow%allow all;
    allow 127.0.0.0/8;
    allow ::1/128;
    allow %ips%;
    deny all;

    location ~* ^/openserver/.+\.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv|svgz?|ttf|ttc|otf|eot|woff2?)$ {
    expires 1d;
    access_log off;
    }

    location /openserver/server-status {
    stub_status on;
    }

    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $http_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://%ips%:%httpbackport%/openserver/;
    }

    }
  • Как отключить кэширование динамического контента в nginx?

    @proga111 Автор вопроса
    Lynn «Кофеман», Да почему не о чем? я обозначил проблему. Мне нужно чтобы nginx не перехватывал if modified since для динамических файлов. Проблема как на локальном сервере (open server) так и на внешнем, никаких команд кэшировать динамический контент я не заметил. Возможно ли это по умолчанию и как это отключить? Попробую сбросить все конфиги
  • Как отключить кэширование динамического контента в nginx?

    @proga111 Автор вопроса
    Я запутался в конфигах - их несколько . Но... Не получаю заголовок if modified since средствами php .
    При этом браузер отсылает этот заголовок а nginx отвечает даже при динамическом контенте. Чего я добиваюсь? Как я понимаю, прокси кэширует динамические страницы и при очередном запросе сравнивает версии и выдает ответ Last Modified или Not modified. Естественно я хочу сам отдавать ответ Not modified с помощью легкого скрипта без формирования целой страницы движком.