Инструменты пользователя

Инструменты сайта


how_to_read_proxy_errors

Это старая версия документа!


О сообщениях об ошибках прокси-сервера Security Server

Первым шагом в процессе устранения ошибок является понимание того, откуда возникло сообщение об ошибке. Поэтому важно знать, какие компоненты участвуют в потоке сообщений:

  1. Потребитель услуг
  2. Сервер безопасности на стороне потребителя (клиентский прокси)
  3. Сервер безопасности на стороне провайдера (прокси-сервер)
  4. Поставщик услуг.

Сообщения об ошибках могут генерироваться Серверами безопасности (2, 3) или информационной системой поставщика услуг (4). Сообщения об ошибках, генерируемые Security Server, имеют фиксированную структуру, зависящую от интерфейса (SOAP/REST). Однако сообщения об ошибках SOAP и REST содержат одну и ту же информацию независимо от интерфейса обмена сообщениями. Сообщения об ошибках, генерируемые Security Server, содержат три поля:

тип (REST)/код ошибки (SOAP)

  • Код ошибки, указывающий, откуда возникла ошибка — клиентский прокси (2) или серверный прокси (3) — и тип ошибки.
  • Ошибки, начинающиеся с «Server.ClientProxy», возникают в прокси-сервере клиента на стороне потребителя (2). В этом случае более подробную информацию можно найти в журнале прокси-сервера Security Server (2) на стороне потребителя (/var/log/xroad/proxy.log).
  • Ошибки, начинающиеся с «Server.ServerProxy», возникают в прокси-сервере на стороне провайдера (3). В этом случае более подробную информацию можно найти в журнале прокси-сервера Security Server (3) на стороне провайдера (/var/log/xroad/proxy.log).

message (REST)/faultString (SOAP)

  • Более подробное описание ошибки.

detail (REST)/faultDetail (SOAP)

  • Уникальный идентификатор, который можно использовать для поиска дополнительной информации в журнале прокси-приложений (/var/log/xroad/proxy.log).

Например, сообщение об ошибке, сгенерированное прокси-сервером клиента на Security Server (2) на стороне потребителя:

REST/JSON Error Message

{
   "type":"Server.ClientProxy.SslAuthenticationFailed",
   "message":"Client (SUBSYSTEM:PLAYGROUND/COM/1234567-8/TestClient) specifies HTTPS but did not supply TLS certificate",
   "detail":"2ea02d93-e0b8-4e2b-8c6e-fac20f53a3e3"
}

REST/XML Error Message

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<error>
    <type>Server.ClientProxy.SslAuthenticationFailed</type>
    <message>Client (SUBSYSTEM:PLAYGROUND/COM/1234567-8/TestClient) specifies HTTPS but did not supply TLS certificate</message>
    <detail>2ea02d93-e0b8-4e2b-8c6e-fac20f53a3e3</detail>
</error>

SOAP Error Message

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
         <faultcode>Server.ClientProxy.SslAuthenticationFailed</faultcode>
         <faultstring>Client (SUBSYSTEM:PLAYGROUND/COM/1234567-8/TestClient) specifies HTTPS but did not supply TLS certificate</faultstring>
         <faultactor />
         <detail>
            <faultDetail>b782c3a4-f279-43d1-8684-2af318ec2ca5</faultDetail>
         </detail>
      </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Также могут возникать ошибки в информационной системе поставщика услуг (4). В этом случае поставщик услуг (4) может вернуть любое пользовательское сообщение об ошибке, если оно соответствует протоколу сообщений X-Road. В случае, если сообщение об ошибке возвращается и не соответствует структуре, представленной выше, ошибка была сгенерирована информационной системой поставщика услуг (4).

Сервер безопасности на стороне потребителя (2)

В таблице ниже приведены наиболее распространенные сообщения об ошибках, исходящие от Security Server (2) на стороне потребителя, и их описания.

Обратите внимание, что это не исчерпывающий список всех ошибок, генерируемых прокси-сервером Security Server.
Код ошибки (тип/код ошибки) Сообщение об ошибке (message/faultString) Описание
Server.ClientProxy.UnknownMember Запрос содержит недопустимый идентификатор клиента или службы.
Client 'SUBSYSTEM:instanceIdentifier/memberClass/memberCode/subsystemCode' not foundВ случае, если клиент не найден, клиент, указанный в запросе, не зарегистрирован на Сервере безопасности на стороне потребителя (2). Подробнее о регистрации клиентов можно узнать тут Регистрация клиента сервера безопасности
Could not find addresses for service provider 'SERVICE:instanceIdentifier/memberClass/memberCode/subsystemCode/serviceCode' В случае, если адреса для поставщика услуг не найдены, в идентификаторе услуги есть ошибка. Убедитесь, что значение идентификатора услуги в запросе верное и соответствует информации, зарегистрированной на Сервере безопасности поставщика услуги (3).
Server.ClientProxy.NetworkError
Could not connect to any target host https://TARGET_HOST:5500Сервер безопасности на стороне потребителя (2) не может установить сетевое соединение с сервером безопасности на стороне поставщика (3). Проблема обычно вызвана неправильными настройками брандмауэра. На стороне потребителя Security Server (2) должен быть разрешен исходящий трафик на порты 5500 и 5577 Security Server (3) на стороне провайдера. На стороне провайдера Security Server (3) должен быть разрешен входящий трафик на порты 5500 и 5577 от Security Server (2) на стороне потребителя. Дополнительную информацию о необходимых конфигурациях брандмауэра можно найти в руководствах по установке Security Server для Ubuntu - https://github.com/nordic-institute/X-Road/blob/develop/doc/Manuals/ig-ss_x-road_v6_security_server_installation_guide.md#221-network-diagram.
Name or service not known. No address associated with hostname. Поиск DNS на стороне провайдера Security Server (3) завершается ошибкой, так как сервер зарегистрирован с неправильным общедоступным полным доменным именем. Свяжитесь с администратором Security Server на стороне провайдера (3).
Server.ClientProxy.CannotCreateSignature.Signer.TokenNotActive Token 'softToken' неактивен Решение проблемы
Server.ClientProxy.ServiceFailed.InternalErrorПричина ошибки, например: Invalid instance identifier: instanceIdentifier Обработка запроса не удалась из-за внутренней ошибки на сервере Security Server (2) на стороне потребителя. Подробности смотрите в журнале приложений прокси (2) (/var/log/xroad/proxy.log). Если требуется более подробное ведение журнала, настройте прокси (2) Как изменить уровень логирования на Security Server
Server.ClientProxy.SslAuthenticationFailed
Security server has no valid authentication certificate Сервер безопасности на стороне потребителя (2) не имеет действительного сертификата проверки подлинности. Сертификат проверки подлинности может не существовать, он может быть отключен, может быть не зарегистрирован или не иметь действительного статуса OCSP. Чтобы устранить проблему, попробуйте выполнить следующие действия: 1. Убедитесь, что сертификат аутентификации импортирован на Security Server (2). 2. Убедитесь, что сертификат активен. 3. Убедитесь, что сертификат зарегистрирован. 4. Если статус OCSP сертификата аутентификации не находится в «GOOD» состоянии, сервер безопасности (2) не может использовать сертификат. Статус OCSP можно проверить в представлении «Keys and certificates» Security Server (2). 5. Убедитесь, что программный токен, содержащий сертификат проверки подлинности, доступен и выполнен вход в систему. Состояние токена можно проверить в представлении «Ключи и сертификаты» на сервере безопасности (2). Как ввести Security Server PIN code?
Service provider did not send correct authentication certificate Сервер безопасности на стороне провайдера (3) не имеет действительного сертификата проверки подлинности. Сертификат проверки подлинности может не существовать, он может быть отключен, может быть не зарегистрирован или не иметь действительного статуса OCSP. Чтобы устранить проблему, попробуйте выполнить следующие действия: 1. Убедитесь, что сертификат аутентификации импортирован на Security Server (2). 2. Убедитесь, что сертификат активен. 3. Убедитесь, что сертификат зарегистрирован. 4. Если статус OCSP сертификата аутентификации не находится в «GOOD» состоянии, сервер безопасности (2) не может использовать сертификат. Статус OCSP можно проверить в представлении «Keys and certificates» Security Server (2). 5. Убедитесь, что программный токен, содержащий сертификат проверки подлинности, доступен и выполнен вход в систему. Состояние токена можно проверить в представлении «Ключи и сертификаты» на сервере безопасности (2). Как ввести Security Server PIN code? Кроме того, сертификат проверки подлинности, возвращенный Security Server (3) на стороне провайдера, не совпадает с сертификатом проверки подлинности, который был зарегистрирован на этом сервере Security Server в глобальной конфигурации. Это может произойти, когда Security Server (3) на стороне провайдера использует внешний балансировщик нагрузки, который не настроен для использования сквозного SSL.
Client (SUBSYSTEM:instanceIdentifier/memberClass/memberCode/subsystemCode) specifies HTTPS but did not supply TLS certificate Клиент указывает HTTPS, но не предоставил сертификат TLS
how_to_read_proxy_errors.1684501405.txt.gz · Последние изменения: 2023/05/19 13:03 — infra