Некоммерческая версия Немезида ВАФ ошибки nginx

Добрый день!
Я использую для работы образы docker.
Во время развертывания ошибок не возникало, как я понимаю. Прикрепляю логи с докер контейнеров.
Где elastic_villani - это nwaf-api
cranky_black - nwaf-cabinet
nwaf-db - postgres
priceless_snyder - nwaf-dyn-ce

cranky_black:
Restarting memcached: memcached.
sed: can't read /etc/init.d/rldscupd: No such file or directory
[uWSGI] getting INI configuration from /var/www/app/cabinet.ini
*** Starting uWSGI 2.0.26 (64bit) on [Wed Sep 18 09:56:55 2024] ***
compiled with version: 12.2.0 on 27 August 2024 11:44:11
os: Linux-5.15.0-119-generic #129-Ubuntu SMP Fri Aug 2 19:25:20 UTC 2024
nodename: 4fc806a1a4ef
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 4
current working directory: /var/www/app
detected binary path: /var/www/app/venv/bin/uwsgi
Starting nginx: nginx.

elastic_villani:

start-stop-daemon: warning: failed to kill 686: No such process
Restarting memcached: memcached.
chown: cannot access '/var/www/app/': No such file or directory
chown: cannot access '/var/log/uwsgi/cabinet': No such file or directory
[uWSGI] getting INI configuration from /var/www/nw-api/api.ini
Starting nginx: nginx.

nwaf-db:

PostgreSQL Database directory appears to contain a database; Skipping initialization
2024-09-18 09:52:53.596 UTC [1] LOG: starting PostgreSQL 16.4 (Debian 16.4-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-09-18 09:52:53.597 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2024-09-18 09:52:53.597 UTC [1] LOG: listening on IPv6 address "::", port 5432
2024-09-18 09:52:53.599 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-09-18 09:52:53.604 UTC [28] LOG: database system was shut down at 2024-09-18 09:49:06 UTC
2024-09-18 09:52:53.611 UTC [1] LOG: database system is ready to accept connections
2024-09-18 09:53:31.520 UTC [37] WARNING: no privileges were granted for "waf"
2024-09-18 09:57:53.687 UTC [26] LOG: checkpoint starting: time
2024-09-18 09:57:56.706 UTC [26] LOG: checkpoint complete: wrote 33 buffers (0.2%); 0 WAL file(s) added, 0 removed, 0 recycled; write=3.012 s, sync=0.004 s, total=3.020 s; sync files=21, longest=0.002 s, average=0.001 s; distance=140 kB, estimate=140 kB; lsn=0/2165738, redo lsn=0/2165700
2024-09-18 10:07:53.797 UTC [26] LOG: checkpoint starting: time
2024-09-18 10:07:54.605 UTC [26] LOG: checkpoint complete: wrote 9 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.804 s, sync=0.002 s, total=0.809 s; sync files=9, longest=0.001 s, average=0.001 s; distance=9 kB, estimate=127 kB; lsn=0/2167D38, redo lsn=0/2167D00
2024-09-18 10:32:53.951 UTC [26] LOG: checkpoint starting: time
2024-09-18 10:32:54.662 UTC [26] LOG: checkpoint complete: wrote 8 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.704 s, sync=0.003 s, total=0.711 s; sync files=8, longest=0.002 s, average=0.001 s; distance=10 kB, estimate=115 kB; lsn=0/216A788, redo lsn=0/216A750
2024-09-18 10:47:23.052 UTC [820] FATAL: unsupported frontend protocol 0.0: server supports 3.0 to 3.0
2024-09-18 10:47:23.164 UTC [821] FATAL: unsupported frontend protocol 255.255: server supports 3.0 to 3.0
2024-09-18 10:47:23.261 UTC [822] FATAL: no PostgreSQL user name specified in startup packet
2024-09-18 10:52:53.916 UTC [26] LOG: checkpoint starting: time
2024-09-18 10:52:54.627 UTC [26] LOG: checkpoint complete: wrote 8 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.704 s, sync=0.003 s, total=0.711 s; sync files=8, longest=0.003 s, average=0.001 s; distance=10 kB, estimate=105 kB; lsn=0/216D240, redo lsn=0/216D208

priceless_snyder:

start-stop-daemon: warning: failed to kill 1054: No such process
Restarting memcached: memcached.
Starting RabbitMQ Messaging Server: rabbitmq-server.

При попытке зайти в кабинет по порту :8090 у меня ошибка "404 Not Found"

Подскажите, в чем может быть проблема?

Так же могу прислать мои настроенные конфигурации, может, я где-то допустил ошибку в настройке или еще какие-нибудь логи.
 
Добрый день!

Судя по сообщениям об ошибках, у вас некорректно были развернуты компоненты Личный кабинет (контейнер: elastic_villani) и Nemesida WAF API (контейнер: cranky_black).

Обратите внимание, что у вас отсутствуют необходимые файлы с конфигуарациями компонентов, например, /var/www/app/, которые создаются и хранятся снаружи контейнера на сервере в директории /opt/nwaf/nwaf-cabinet.

Проверьте, пожалуйста, содержимое директории /opt/nwaf/ и пришлите содержимое каждой папки, котоыре там находятся.

Также вы можете попробовать удалить директории /opt/nwaf/nwaf-api и /opt/nwaf/nwaf-cabinet и попробовать развернуть компоненты повторно, следуя инструкции на нашем сайте.
 
ls -la
total 24
drwxr-xr-x 6 root root 4096 Sep 18 12:53 .
drwxr-xr-x 4 root root 4096 Sep 17 18:18 ..
dr-xr-xr-x 3 root root 4096 Sep 18 00:01 nwaf-api
dr-xr-xr-x 3 root root 4096 Sep 18 12:56 nwaf-cabinet
drwxr-xr-x 3 root root 4096 Sep 17 18:18 nwaf-db
dr-xr-xr-x 5 root root 4096 Sep 18 00:38 waf-config

ls -l nwaf-api/
total 12
4 dr-xr-xr-x 2 root root 4096 Sep 17 18:31 nginx
4 -r-xr-xr-x 1 root root 234 Sep 18 00:01 settings_api.py
4 -r-xr-xr-x 1 root root 14 Sep 17 18:31 version

-la nwaf-cabinet/
total 24
dr-xr-xr-x 3 root root 4096 Sep 18 12:56 .
drwxr-xr-x 6 root root 4096 Sep 18 12:53 ..
drwxr-xr-x 2 root root 4096 Sep 18 12:54 nginx
-rw-r--r-- 1 root root 1 Sep 18 12:57 ready_for_migrate
-r-xr-xr-x 1 root root 651 Sep 18 12:56 settings_cabinet.py
-rw-r--r-- 1 root root 14 Sep 18 12:54 version
 
как я понимаю директория /var/www/app/ создается автоматически после запуска контейнера.
Но, ее там не появляется. Я делал все по мануалу и уже несколько раз удалял и устанавливал, не помогает
Можно ли в ручную создать данные директории и что в них должно быть?
 
как я понимаю директория /var/www/app/ создается автоматически после запуска контейнера.
Но, ее там не появляется. Я делал все по мануалу и уже несколько раз удалял и устанавливал, не помогает
Можно ли в ручную создать данные директории и что в них должно быть?
Мы проверили еще раз установку компонентов в Docker-контейнерах - все работает штатно.

Выполните, пожалуйста, следующие действия:
1. Перейдите по адресу: http://<your_server_ip>:8090/waf/personal
2. После перехода у вас появится ошибка 404, т.к. автоматически произойдет редирект на порт 80 (вместо нужного 8090). Добавьте вручную :8090 между адресом сервера и /waf/personal и выполните повторный переход.

В результате у вас должна открыться страница аутентификации в Личном кабинете.

Если этого не происходит, то пришлите, пожалуйста, полный скриншот с ошибкой в браузере и строкой URL, по которой вы обращаетесь.
 
Подскажите, а нужно ли запускать контейнеры в отдельной сети?
И при настройке конфигураций указывать ip адрес сервера и порт или ip адрес контейнера?
 
попробовал переустановить все контейнеры внеся изменения в конф файлы, ввел порт перед /waf/personalотобразилось окно авторизации, но авторизоваться не удается.
ConnectionRefusedError: [Errno 111] Connection refused
20-09-2024 12:02:52 ERROR Internal Server Error: /login/
Traceback (most recent call last):
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/user/decorators.py", line 21, in wrapper
rate_limit = cache.get(rate_limit_key)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 75, in get
return self._cache.get(key, default)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 347, in get
return self._run_cmd("get", key, default, default=default, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 322, in _run_cmd
return self._safely_run_func(client, func, default_val, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 211, in _safely_run_func
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/base.py", line 687, in get
return self._fetch_cmd(b"get", [key], False, key_prefix=self.key_prefix).get(

ConnectionRefusedError: [Errno 111] Connection refused
20-09-2024 12:02:52 ERROR Internal Server Error: /login/
Traceback (most recent call last):
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/user/decorators.py", line 21, in wrapper
rate_limit = cache.get(rate_limit_key)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 75, in get
return self._cache.get(key, default)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 347, in get
return self._run_cmd("get", key, default, default=default, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 322, in _run_cmd
return self._safely_run_func(client, func, default_val, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 211, in _safely_run_func
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/base.py", line 687, in get
return self._fetch_cmd(b"get", [key], False, key_prefix=self.key_prefix).get(


это логи с /var/log/uwsgi/cabinet/app.log
 
под скажите, за что отвечает параметр ALLOWED_HOSTS?
В нем указывать адрес сервер?
 
Если ошибка "Server Error (500)"
В чем может быть причина?
Окно авторизации загружается, но авторизоваться не удается.
Пересоздавал контейнер и заводил пользователя заново, не работает
 
Подскажите, а нужно ли запускать контейнеры в отдельной сети?
И при настройке конфигураций указывать ip адрес сервера и порт или ip адрес контейнера?
1. Не требуется
2. В файлах конфигурации нужно указывать IP-адрес и порт сервера.
 
и как правильно настроить /opt/nwaf/nwaf-cabinet/nginx/cabinet.conf?
Что бы корректно все отрабатывало
Редактирование этого файла конфигурации виртуального хоста не требуется для корректной работы компонента.
 
под скажите, за что отвечает параметр ALLOWED_HOSTS?
В нем указывать адрес сервер?
В этом параметре можно указать FQDN сервера, при обращении к которому будет возможен доступ к веб-интерфейсу Личного кабинета. Например, если вы зададите опцию в формате:
ALLOWED_HOSTS = ['lk.example.com']
то веб-интерфейс Личного кабинета будет доступен только по адресу lk.example.com и не будет доступен даже по IP-адресу, который связан с этим FQDN.
 
попробовал переустановить все контейнеры внеся изменения в конф файлы, ввел порт перед /waf/personalотобразилось окно авторизации, но авторизоваться не удается.
ConnectionRefusedError: [Errno 111] Connection refused
20-09-2024 12:02:52 ERROR Internal Server Error: /login/
Traceback (most recent call last):
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/user/decorators.py", line 21, in wrapper
rate_limit = cache.get(rate_limit_key)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 75, in get
return self._cache.get(key, default)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 347, in get
return self._run_cmd("get", key, default, default=default, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 322, in _run_cmd
return self._safely_run_func(client, func, default_val, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 211, in _safely_run_func
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/base.py", line 687, in get
return self._fetch_cmd(b"get", [key], False, key_prefix=self.key_prefix).get(

ConnectionRefusedError: [Errno 111] Connection refused
20-09-2024 12:02:52 ERROR Internal Server Error: /login/
Traceback (most recent call last):
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/user/decorators.py", line 21, in wrapper
rate_limit = cache.get(rate_limit_key)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 75, in get
return self._cache.get(key, default)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 347, in get
return self._run_cmd("get", key, default, default=default, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 322, in _run_cmd
return self._safely_run_func(client, func, default_val, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/hash.py", line 211, in _safely_run_func
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/var/www/app/venv/lib/python3.11/site-packages/pymemcache/client/base.py", line 687, in get
return self._fetch_cmd(b"get", [key], False, key_prefix=self.key_prefix).get(


это логи с /var/log/uwsgi/cabinet/app.log
Такая ошибка может возникать в случаях:

1. Недоступен сервис memcached
2. В /opt/nwaf/nwaf-cabinet/settings_cabinet.py неправильно заданы опции MEMCACHED_HOST/MEMCACHED_PORT
 
Если ошибка "Server Error (500)"
В чем может быть причина?
Окно авторизации загружается, но авторизоваться не удается.
Пересоздавал контейнер и заводил пользователя заново, не работает
Ошибка 500 в данном случае возникает из-за ошибки в работе memcached, которую описали выше.
 
Спасибо огромное!
Удалось зайти в личный кабинет)
Подскажите, пожалуйста, а можно ли из личного кабинета блокировать ip адреса, с которых идет много запросов?
 
Спасибо огромное!
Удалось зайти в личный кабинет)
Подскажите, пожалуйста, а можно ли из личного кабинета блокировать ip адреса, с которых идет много запросов?
Можно, но этот функционал доступен только в коммерческой версии.
 
Back
Top