NGINX запрещает доступ к CSS и JS в папке с указанием местоположения - PullRequest
0 голосов
/ 26 марта 2019

Мне пришлось отправить специальный add_header для настройки no-cache для определенной папки и подпапок.Вы можете увидеть мой пример кода ниже.Но когда я его настроил, я больше не могу получить доступ к файлам JS и CSS, которые находятся в одной папке.Если CSS находится в подпапке защищенной папки, это нормально, но он получает 403 доступа, если в защищенной папке.

Мне нужны все файлы, включая php, для отправки заголовка no-cacheесли в папке «/ protected» или в любой подпапке защищенной папки.Вот и все.

Если я попробую location ~ / protected /

, я не смогу получить доступ к файлам css или js в каких-либо подпапках / protected / then.

location ^~ /protected/ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /home/ramrod/public_html/$fastcgi_script_name;
            include fastcgi_params;
                 # kill cache
                add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
                if_modified_since off;
                expires off;
                etag off;

        }

Я на самом деле думал, что это правильная директива:

location /protected/ {}

И подумал, что все файлы, особенно php или html, вернут заголовок no-cache.Но это был не тот случай.Только индекс вернул заголовок и ничего больше.Но затем все они начали возвращать заголовок no-cache, как и следовало, когда я изменил его на:

location ~ /protected/ {}

Но тогда файлы css и js выдают ошибку 403 в том же каталоге (или подкаталоге).

Мое обнадеживающее решение состоит в том, чтобы иметь директиву, которая помещает add_header во все файлы в каталоге и его подкаталоге, но все же разрешает мне доступ ко всем файлам.

...