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

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


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
how_to_read_proxy_errors.1684492883.txt.gz · Последние изменения: 2023/05/19 10:41 — infra