LINUX.ORG.RU
ФорумAdmin

If NGINX

 ,


0

1

Добрый день коллеги

Может кто-то подсказать что значит инструкция в nginx

if ($query_string != "")

Я это понимаю как если строка запроса не пустая

Все верно?

Спасибо


Ответ на: комментарий от l0stparadise

Более верно использовать динамические $arg_* переменные.

На данном примере: $arg_cast будет содержать maxcom

beastie ★★★★★
()
Ответ на: комментарий от beastie

Ок. Спасибо

Коллеги может Вы подскажите, у меня такая проблема. Есть сайт написанный на Drupal, есть настроенный nginx c кешем.

Проблема в том что при добавлении новости. даже если ее не опубликовывать обновляет кеш на главной странице. Вот мой конфиг nginx

        server {
                listen xxx.xxx.xxx.xx:80;
                listen xxx.xxx.xxx.x:80;
                server_name my.ru;
                return 301 https://my.ru$request_uri;
                }

        server {
                server_name my.ru;
                listen xxx.xxx.xxx.xx:443 ssl;
                listen xxx.xxx.xxx.x:443 ssl;
                ssl_certificate /etc/nginx/ssl/my_ru.crt;
                ssl_certificate_key /etc/nginx/ssl/my.ru.key;
                ssl_session_timeout  5m;
                ssl_protocols  SSLv2 SSLv3 TLSv1;
                ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
                ssl_prefer_server_ciphers   on;
                disable_symlinks if_not_owner from=$root_path;
                set $root_path /var/www/html/my_ru/www/html;
                location ~* ^.+\.(jpg|jpeg|gif|png|svg|mp3|ogg|mpe?g|css|avi|zip|gz|bz2?|rar|swf)$ {
                        root $root_path;
                        expires 1M;
                        add_header Cache-Control "public";
                        set $memcached_key "$uri?$args";
                        memcached_pass unix:/var/run/memcached/memcached.socket;
                        access_log /var/www/nginx-logs/access_preprod main;
                        error_log /var/www/httpd-logs/my.ru.error.log ;
                        error_page 404 = @fallback;
                }
                location ~* ^.+\.(js)$ {
                        root $root_path;
                        add_header Pragma "no-cache";
                        add_header Last-Modified $sent_http_Expires;
                        add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
                        expires -1;
                        proxy_cache off;
                        access_log /var/www/nginx-logs/access_js main;
                        error_log /var/www/httpd-logs/my.ru.js.error.log ;
                        error_page 404 = @fallback;
                }

                location / {
                        proxy_cache my;
                        proxy_cache_valid 24h;
                        proxy_cache_valid 404 403 1m;
                        set $memcached_key "$uri?$args";
                        memcached_pass unix:/var/run/memcached/memcached.socket;
                        proxy_no_cache $arg_nocache$arg_comment $http_pragma $cookie_nocache $http_authorization;
                        proxy_no_cache $cookie_logged;
                        proxy_cache_bypass $cookie_logged;
                        proxy_hide_header Cache-Control;
                        proxy_pass http://127.0.0.1:8080;
                        proxy_pass_header Set-Cookie;
                        proxy_ignore_headers "Expires" "Cache-Control";
                        proxy_redirect http://127.0.0.1:8080/ /;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_set_header X-Real-IP $remote_addr;
                }
                location ~* ^/(webstat|awstats|webmail|myadmin|admin|rss|dashboard|pgadmin)/ {
                        add_header Pragma "no-cache";
                        add_header Last-Modified $sent_http_Expires;
                        add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
                        proxy_ignore_headers "Expires" "Cache-Control";
                        expires -1;
                        proxy_cache off;
                        proxy_pass http://127.0.0.1:8080;
                        proxy_redirect http://127.0.0.1:8080/ /;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_set_header X-Real-IP $remote_addr;
                }
                location @fallback {
                        proxy_pass http://127.0.0.1:8080;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_set_header X-Real-IP $remote_addr;
                }
                location /nginx_status {

                        stub_status on;
                        access_log   off;
                        allow xx.xxx.xxx.xx;
                        allow xxx.xxx.xx.x;
                        deny all;
                }

        }

nginx.conf
    #Caching

    open_file_cache max=200000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 5;
    open_file_cache_errors off;

    proxy_cache_path /var/run/nginx-cache levels=1:2 keys_zone=my:1200m inactive=24h;
    proxy_cache_key $scheme$request_method$host$request_uri;
    proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_ignore_headers Cache-Control Expires Set-Cookie;

mkgeka
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.