Проблемы с установкой, ошибки после установки, обновление продукта
Ошибка при запуске FAM
Проблема
При запуске сервиcа fam выдает ошибку:
panic: error reading server configuration: open ./config.json: no such file or directory goroutine 1 [running]: Sign in · GitLab 1({0x1e2c5a0, 0xc0002df700}) /home/jenkins/workspace/SSO/Server/master/pkg/product/runner/runner.go:381 +0x2afe main.main() /home/jenkins/workspace/SSO/Server/master/cmd/fam/main.go:15 +0x157
0
Решение
"panic: error reading server configuration: open ./config.json: no such file or directory":**
Строка выше означает то, что FAM не может найти /config.json.
Необходимо проверить настройки сервиса:
sudo nano /etc/systemd/system/idp.service
Также необходимо обратить внимание на значение Environment:
Environment=“SSO_CFG=/opt/idp/config.toml”
[Unit] Description=IDP [Service] WorkingDirectory=/opt/idp ExecStart=/opt/idp/fam_linux_amd64 Restart=always RestartSec=10 SyslogIdentifier=idp User=idp Environment=“SSO_CFG=/opt/idp/config.toml” [Install] WantedBy=multi-user.targe
В значение необходимо указать абсолютный путь до конфигурационного файла, который используется. По умолчанию находится по данному пути. Рекомендуется использовать формат TOML, он более читабелен.
Проблема с инициализацией FAM Server при первоначальной установке
Проблема
Пример ошибки:
idp@avanpost:/opt/idp$ ./fam_linux_amd64 –init panic: runtime error: slice bounds out of range [:-57] goroutine 1 [running]: devenv.avanpost.ru/idp/idp/pkg/x/security.(*AESEncryptor).unpadding(...) /home/jenkins/workspace/SSO/Server/master/pkg/x/security/encryptor.go:42 devenv.avanpost.ru/idp/idp/pkg/x/security.(*AESEncryptor).Decrypt(0xc0026800d8, {0xc0021e9680?, 0xc?}) /home/jenkins/workspace/SSO/Server/master/pkg/x/security/encryptor.go:81 +0x1b2 devenv.avanpost.ru/idp/idp/pkg/oauth2/manager.(*ClientManager).GetClientByID(0xc000288c30, {0x1ac71be?, 0x7f4b04a9f5b8?}) /home/jenkins/workspace/SSO/Server/master/pkg/oauth2/manager/client_manager.go:50 +0x54 devenv.avanpost.ru/idp/idp/pkg/appcommand.UpdateServiceClient({0x1ac71be?, 0xc001bb1f40?}, {0xc0006519e2, 0x20}, {0x1ac08e7, 0x9}) /home/jenkins/workspace/SSO/Server/master/pkg/appcommand/appcommand.go:31 +0x68 devenv.avanpost.ru/idp/idp/pkg/product/runner.(*program).init(0xc0005f6308) /home/jenkins/workspace/SSO/Server/master/pkg/product/runner/runner.go:871 +0x1f2a devenv.avanpost.ru/idp/idp/pkg/product/runner.Run({0x1e2aa80, 0xc0007932c0}) /home/jenkins/workspace/SSO/Server/master/pkg/product/runner/runner.go:552 +0x199a main.main() /home/jenkins/workspace/SSO/Server/master/cmd/fam/main.go:15 +0x157
0
Решение
Возможная причина проблемы:
При переустановке FAM и миграции базы данных мог поменяться ключ шифрования key.dat, который не соответствует ключу, используемому в текущей БД.
encryptionKey = ‘key.dat’ – критически важный файл. Отвечает за расшифровку подключения к БД. Если переносится база, то переносится и сам файл. Если файл удалён, то придётся создать новую базу.
Решение проблемы:
- Зайти в интерактивный терминал PostgreSQL psql
sudo -u postgres psql
2.Удалить старую базу данных:
DROP DATABASE idp
3.Создать новую БД:
CREATE DATABASE idp OWNER=avanpost ENCODING=utf8;
\q
./fam_linux_amd64 -generatekey
./fam_linux_amd64 -migratedb postgres
./fam_linux_amd64 -init
Ошибка "Белый экран смерти"
Проблема
Если после установки IDP и прохождения аутентификации у вас белый экран смерти:
Открываем режим разработчика клавишей F12 и переходим в Console (смотрим ошибку):
0
Решение
Самая частая ошибка - validateJwtAttributes: Проверить время - оно должно быть синхронизировано. При необходимости перезапустить демона NTP на FAM:
sudo systemctl restart ntp
Обновление MFA+/FAM
Проблема
Обновление системы: порядок действия и важные аспекты, на которые необходимо обратить внимание.
0
Решение
Важно!
Не рекомендуется обновлять FAM, если у вас кастомизированная версия продукта, перед обновлением кастомной версии обратитесь в техническую поддержку.
Важно!
Перед обновлением обязательно сделать бэкап базы данных, файла key.dat и конфигурационного файла или всего сервера, если это удобнее.
Важно!
encryptionKey = ‘key.dat’ – критически важный файл. Отвечает за расшифровку подключения к БД. Если переносится база, то переносится и сам файл. Если файл удалить - базу создаём новую.
Для обновления MFA+/FAM произведите следующие действия:
Все действия рекомендована выполнять от пользователя idp.
- Скачайте новую версию FAM Server по ссылке: Sonatype Nexus Repository 9
- Остановите службу sudo systemctl stop idp
- Рекомендуется перед обновлением удалить папку public (/opt/idp/public), так как при распаковки архива только заменяются существующие файлы и добавляются новые, не используемые файлы будут оставаться в каталоге. Если у вас кастомные шаблоны или в них были внесены изменения, то не удаляйте данную папку. (sudo rm -r /opt/idp/public)
- Скопируйте с заменой файлы из скачанного архива в /opt/idp/ (tar -C /opt/idp -xvzf /path_to_tar_file/avanpost_fam_server-1.10.1-1708.linux.tar.gz)
- Находясь в каталоге /opt/idp/ выполнить миграцию БД командой ./fam_linux_amd64 -migratedb postgres
- Выполнить команду (после сообщения об успешном завершении миграции) ./fam_linux_amd64 -init
- Запустить службу на сервере FAM sudo systemctl start idp
Для правильной работы MFA+\FAM необходимо так же обновлять FAM Mobile Services. Версия FAM Mobile Services должна быть идентичной версии FAM Server.
В случае возникновения ошибок с Base Url, в /opt/idp/config.toml замените base_url на baseUrl.
В обновлении 1.8.0 изменился формат конфигурационного файл с json на tomal, но проблем с обновлением не должно возникнуть, так как реализована обратная совместимость с json-файлом.