Для запрета доступа к сайту по определенному IP-адресу в Nginx можно использовать директиву `deny`. Вот пример конфигурации:
```nginx
server {
listen 80;
server_name example.com;
location / {
# Запрет доступа для IP-адреса 192.168.0.1
deny 192.168.0.1;
# Доступ для остальных IP-адресов
allow all;
# Убедитесь, что deny директива находится перед allow
# этот порядок важен для корректной работы
}
}
```
В этом примере, доступ к сайту будет предоставляться всем пользователям, кроме `192.168.0.1`. Замените `deny 192.168.0.1;` на нужный вам IP-адрес или диапазон IP-адресов, чтобы запретить доступ.
Если веб-приложение находится на порту `4000`, вы можете добавить отдельный блок конфигурации для этого порта и применить ту же директиву `deny`.
```nginx
server {
listen 4000;
server_name example.com;
location / {
deny 192.168.0.1;
allow all;
}
}
```
Здесь также пользователи с IP-адресом `192.168.0.1` не смогут получить доступ к веб-приложению через прямой IP-адрес и порт `x.x.x.x:4000`.