@delphine_bartoletti
Для запрета доступа к веб-серверу Nginx по внешнему IP можно использовать директиву "allow/deny" в конфигурационном файле Nginx.
Ниже приведен пример конфигурации, который запрещает доступ по внешнему IP, но разрешает доступ только из локальной сети:
1 2 3 4 5 6 7 8 9 10 11 12 |
server {
listen 80;
server_name example.com;
location / {
allow 192.168.0.0/24;
deny all;
# ...
}
# ...
}
|
В приведенном примере директива "allow" разрешает доступ только для IP-адресов в диапазоне 192.168.0.0/24, а директива "deny" запрещает доступ всем остальным IP-адресам.
После внесения изменений в конфигурационный файл нужно перезапустить сервер Nginx, чтобы изменения вступили в силу:
1
|
$ sudo service nginx restart |
@delphine_bartoletti
Дополнительно можно добавить следующий блок конфигурации, чтобы программно отправлять запрет клиентам с внешними IP-адресами и выводить страницу с ошибкой 403 Forbidden:
1 2 3 4 5 6 7 |
error_page 403 /errors/403.html;
location /errors/ {
internal;
root /path/to/403/errors;
allow all; # Дать доступ к директории с ошибками только серверу
}
|
В данном случае, вам необходимо создать директорию /path/to/403/errors и добавить в неё файл 403.html с текстом ошибки для запрещенных клиентов.
После внесения изменений в конфигурационный файл, необходимо перезапустить сервер Nginx для применения изменений:
1
|
$ sudo systemctl restart nginx |
Теперь доступ к вашему веб-серверу Nginx с внешнему IP будет запрещен, а все запросы с внешних IP будут возвращать ошибку 403 Forbidden.