@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.