UPDATE конфигурации для NGINX + PHP-FPM

Заметил такую особенность в дефолтной конфигурации для nginx+fast-cgi:

location ~ /wa-content {        allow all;    }

Этот локейшн не позволяет выполниться этому правилу:

location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {        access_log   off;        expires      30d;    }

что сказывается на отсутствии кеширования js и css файлов в wa-content. Тильда тут, судя по всему, лишняя - регулярки никакой нет.

Как и здесь, хотя не уверен, сказывается ли это где-нибудь.

location ^~ /wa-data/protected/ {        internal;    }


Так же хотел уточнить, за что отвечает этот участок:

    location ~ /(lib/|locale|templates) {        deny all;    }

Директорий таких нет, это какой-то внутренний роутинг?

2 ответа

  • 1
    Александр 4 марта 2019 19:31 #

    Пообщаюсь сам с собой.

    Просто убирать не правильно, как оказалось. В таком случае сервер отдает 403.
    Пока вижу выход — добавить expires в location ~ /wa-content

    Если кто-то подскажет более грамотную конфигурацию, буду благодарен.

    • +1
      Руслан Руслан 9 марта 2019 23:44 #

      Получается локейшен должен быть такой?

      location ~ /wa-content {  expires 30d;  allow all;    }

      И еще может подскажете, как завести капчу?

      Прописывание:

      location ~ /captcha.php$ {
          rewrite ^  /?$uri last;
          }

      Не помогает(

  • 1
    Александр 11 марта 2019 19:54 #

    По первому локейшену — да.
    У себя я сделал через вложенные, но это несколько избыточно.

    location /wa-content {
                    allow all;
    
                    location ~* \.(jpg|jpeg|gif|png|swf|ico|flv|woff|woff2|svg)$ {
                            access_log off;
                            expires 365d;
                    }
    
                    location ~* \.(css|js)$ {
                            access_log off;
                            expires 180d;
                    }
            }
    

    По капче не подскажу, к сожалению. У меня этот не используется и гугл-капча работает нормально.
    Начало конфига — как в руководстве.

    root /var/www/site.com;
    index index.php;
    try_files $uri $uri/ /index.php?$query_string;
    

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите