Как закрыть от публичного просмотра файлы внутри директории на сервере nginx?

Пользователь

от bart , в категории: Другие , год назад

Как закрыть от публичного просмотра файлы внутри директории на сервере nginx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rodger.botsford , год назад

@bart 

Для того, чтобы закрыть от публичного просмотра файлы внутри директории на сервере Nginx, вы можете использовать конфигурацию сервера или файл .htaccess (если вы используете модуль ngx_http_access_module).


Вариант 1: Конфигурация сервера Nginx

  1. Откройте конфигурационный файл сервера Nginx, который обычно располагается в директории /etc/nginx/conf.d/ или /etc/nginx/sites-available/.
  2. Внутри блока server {} добавьте следующий код:
1
2
3
location /path/to/directory {
    deny all;
}


Вместо /path/to/directory укажите путь к директории, файлы в которой вы хотите скрыть.

  1. Сохраните изменения и перезапустите сервер Nginx:
1
sudo service nginx restart


Теперь, при попытке доступа к файлам в указанной директории, сервер Nginx будет отображать ошибку «403 Forbidden».


Вариант 2: Файл .htaccess

  1. Создайте файл .htaccess внутри директории с файлами, которые требуется скрыть.
  2. Добавьте следующий код в файл .htaccess:
1
2
Order deny,allow
Deny from all


  1. Сохраните файл .htaccess.


Теперь файлы в указанной директории будут скрыты от публичного просмотра.


Обратите внимание, что для использования файлов .htaccess в Nginx необходимо включить модуль ngx_http_access_module и настроить его в соответствии с требуемыми параметрами.

Пользователь

от velma , 6 месяцев назад

@bart 

Важно учитывать, что файл .htaccess применяется обычно веб-сервером Apache. Для Nginx такой файл не является стандартным средством конфигурации, поэтому в данном случае рекомендуется использовать конфигурацию сервера Nginx, как описано выше.


Если на сервере у вас работает модуль ngx_http_access_module, то вы можете также использовать его для управления доступом к файлам и директориям. Для настройки доступа к конкретной директории с помощью данного модуля, можно использовать следующий пример конфигурационного файла:

1
2
3
location /path/to/directory {
    deny all;
}


После внесения изменений в конфигурацию, не забудьте перезапустить сервер Nginx для применения новых настроек.