Часто встречающиеся проблемы и пути их устранения#

В данном разделе рассмотрены встречающиеся проблемы при установке СПО и ППО, и способы их устранения.

  1. Профиль не конфигурируется (и он выключен) по причине того, что порт занят кем-то другим.

    Способ решения:

    1. Проверить, кем занят порт:

      netstat -lpt | grep порт
      
    2. Если этим же профилем, то попытаться отключить автоподключение:

      systemctl stop sowa-имя профиля
      

      Для пользователей sowacfg и sowacfgdpl соответствующая команда будет выглядеть следующим образом:

      /usr/local/sowa/bin/wrap-systemctl stop sowa-имя профиля
      
    3. Остановить процесс, который запущен на этом порту и попытаться сконфигурировать его еще раз.

  2. Профиль не останавливается штатными средствами.

    Способ решения: Необходимо остановить профиль с помощью ключей конфигуратора:

    --stop --kill 
    
    1. Для этого необходимо авторизоваться под учетной записью sowaroot. Если на сервере версия шаблона 7.1 и ниже, то через у/з sowaadm, скрипт1.sh).

    2. Вычислить PID профиля:

    ps -ef | grep sowa
    
    1. Остановить процессы профиля

    sudo kill -9
    

    Далее запустить профиль обычным способом (из-под у/з sowacfg).

    Пример:

    $ ps -ef | grep sowa
    sowactl 3790 1 0 Jan14 ? 00:00:00 sowa: master process /usr/local/sowa/bin/sowa-nginx -c /sowa/<ВНИМАНИЕ!! здесь должно быть указано имя профиля, который нужно остановить!!>/system/sowa.conf
    sowactl 3791 3790 0 Jan14 ? 00:14:21 sowa: worker process
    sowactl 3793 3790 0 Jan14 ? 00:15:25 sowa: worker process
    sowactl 3794 3790 0 Jan14 ? 00:14:16 sowa: worker process
    sowactl 3795 3790 0 Jan14 ? 00:14:54 sowa: worker process
     
    $ sudo kill -9 3790 3791 3793 3794 3795
    
  3. При конфигурировании профиля возникает ошибка «Cannot find required key „allowed_methods“».

    Способ решения: Скорее всего версия СПО не соответствует версии ППО, так как ключ „allowed_methods“ называется теперь „allowed_queries“.

  4. nginx: [warn] the number of «worker_processes» is not equal to the number of «worker_cpu_affinity» masks, using last mask for remaining worker processes

    Способ решения: На сервере доступно количество ядер, не соответствующее конфигурации.

    1. В типовых виртуальных машинах дают 4 ядра.

    2. В системах контейнеризации Platform V может быть любое количество ядер. Для контейнеров необходимо указывать 1.

    Следует изменить количество рабочих процессов на auto или 1 в корне профиля:

    system:
      wrk_count: auto
    
  5. Can’t configure profile: Failed to configure profile: File „/sowa/profile_storage/custom/sbc_web_8092/schemes/json/RECOVERY/check-user.request.v1.json“ does not exists

    Способ решения:

    Не скопированы схемы валидации из поставки.

    Выполнить копирование схем валидации командой:

    cp -R */schemes /sowa/profile_storage/custom/*name_profile*
    
  6. Can’t configure profile: Failed to configure profile: Can’t link resource: Resource /sowa/profile_storage/custom/sbc_web_8092/sbc_web_sowa_serv_public.crt does not exist

    Способ решения:

    Не хватает сертификатов.

    Скопировать открытую и закрытую части серверного сертификата в корень профиля.

  7. Can’t configure profile: Failed to configure profile: «Specified port „8091“ currently used in system!»

    Способ решения:

    Убедиться, что порт не совпадает с другими профилями в файле list_value.yml, строка - sbc_web_port: 8091

    Поиск порта в конфигах - find /sowa/ -type f -iname *yml -exec grep -Hn \номер_порта\b {} ;

  8. Job for sowa-test.service failed because the control process exited with error code. See «systemctl status sowa-test.service» and «journalctl -xe» for details. Сброс Account locked due to xx failed logins (через sh)

    Способ решения:

    Сбросить Account locked можно командой /sbin/pam_tally2 -u <имя_пользователя> -r.

    Посмотреть количество Login Failures можно командой /sbin/pam_tally2 -u <имя_пользователя>.

  9. При удалении профиля ошибка: «Permission denied: „/sowarun/BFPSI02/body/2“».

    Способ решения:

    При буферизации (которая происходит при достижении сообщением определенного размера) запросов создаются временные файлы в директории /sowarun/profile_name/body/. Создаются от пользователя sowactl с правами 700.

    Бывают случаи, когда данные файлы не успевают очиститься и остаются там после остановки профиля, что и влечет за собой проблему permission denied, т.к. профиль удаляется из-под пользователя sowacfg.

    Для решения необходимо выполнить команду:

    sudo runuser sowactl -s /bin/sh -c 'rm -rf /sowarun/ИМЯ ПРОФИЛЯ/body/*'
    
  10. Can’t run profile „имя профиля“. Can’t execute command - process return code!=0.

    Способ решения:

    Смотрим подробный статус профиля

    sowa-config --status <имя_профиля> --full
    

    Пример ошибки:

    Jan 17 09:57:08 pvle-erib0360 runuser[12850]: nginx: [emerg] PEM_read_bio_X509_AUX("/sowa/erib-rbs/cert/public/service_main_proxy_mypay_main_proxy/_online_mycompany_ru_2020_09_02.pem") failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
    

    Способ решения:

    Необходимо проверить корректность и целостность сертификата (в данном случае _online_mycompany_ru_2020_09_02.pem). Нужно открыть его текстовым редактором, проверить, что он в формате base64, т.е. имеет вид

    -----BEGIN CERTIFICATE----- <тело_сертификата>-----END CERTIFICATE-----
    

    Если сертификат в .pem, то можно скопировать его себе на «машину», переименовать в .crt и попытаться открыть штатными средствами ОС. Корректный сертификат должен открыться.

[sowacfg@tkle-mvp0272 /sowa/profile_storage/custom]$ sowa-config --run SendToAlpha
sudo: sorry, you must have a tty to run sudo

Способ решения:

Необходимо скорректировать sudoers.

Нужно убрать requiretty в sudoers или поменять местами requiretty и !requiretty.

  1. Ошибка при установке СПО в файле installLibs.log: multilib versions: lz4-1.7.5-3.el7.x86_64 != lz4-1.7.5-2.el7.i686

    Способ решения:

    Рекомендуется установить пакеты вручную

    sudo yum -y update
    sudo yum -y install  cyrus-sasl-devel python-devel lz4-devel
    
  2. В логах ошибка вида unable to get local issuer certificate.

    Способ решения:

    В настройках proxy_ssl указать в ssl_trusted_certificate цепочку вместе с подписантами.

    Сама конфигурация должна выглядеть приблизительно так:

    proxy_ssl:
      ssl_use: {{ gws_fss_ssl_use }}
      ssl_certificate: {{ gws_fss_ssl_certificate }}
      ssl_certificate_key: {{ gws_fss_ssl_certificate_key }}
      ssl_verify: {{ gws_fss_ssl_verify }}
      ssl_trusted_certificate: {{ gws_fss_trusted_certificate }}
      ssl_name: {{ gws_fss_hostname }}
      ssl_server_name: {{ gws_fss_ssl_server_name }}    
    
  3. При обращении к SOWA возникает ошибка 404 Not Found.

    Способ решения:

    Ошибка воспроизводится с включенной настройкой strict_hostname_check.

    Параметр strict_hostname_check означает, что профиль будет проверять значение заголовка HOST. Запросы со значениями заголовка, не входящими в список разрешенных, будут отклонены.

    Для решения необходимо произвести откат на сборку с выключенной настройкой strict_hostname_check.

  4. Can’t configure profile: Failed to configure profile: [Errno 13] Permission denied: „/etc/systemd/system/sowa-SMIT.service“

    Способ решения:

    Ошибка может возникать после обновления версии ОС в случае, если меняются права на /etc/systemd/system, что приводит к некорректной работе sowa-config.

    Для решения необходимо последовательно выполнить следующие команды:

    sudo ./install.sh
    sudo ./installLibs.sh