Настройка web-серверов для работы с системой Итилиум

В данной главе описывается механизм настройки web-серверов для работы с web-клиентом и web-сервисами, а также настройка поддержки OpenID-аутентификации.

Общие положения

После публикации обращение к опубликованным компонентам будет выполняться следующим образом.

  • Обращение к web-клиенту. Для запуска web-клиента необходимо использовать адрес, который формируется по следующим правилам: <Имя хоста web-сервера>/<Имя виртуального каталога>. Если имя виртуального каталога DemoCfg, то для запуска web-клиента следует набрать следующий URL (для получения доступа с локальной машины): http://localhost/DemoCfg.
  • Обращение к web-сервису. Для получения доступа к web-сервису необходимо использовать адрес, который формируется следующим образом: <Имя хоста web-сервера>/<Имя виртуального каталога>/ws/<Имя web-сервиса> или <Имя хоста web-сервера>/<Имя виртуального каталога>/ws/<Адрес web-сервиса>.

Так, если виртуальный каталог имеет имя DemoWS, имя web-сервиса в конфигураторе указано как ДемонстрацияРаботыWS, а в качестве адреса указано DemoWorkWS, то обращение к web-сервису можно выполнять одновременно по двум адресам (для получения доступа с локальной машины): http://localhost/DemoWS/ws/ДемонстрацияРаботыWS или http://localhost/DemoWS/ws/DemoWorkWS.

Внимание!
Для выполнения публикации web-сервисов и web-клиента необходимы права администратора.
Примечание
Публикация возможна только в том случае, если «1С:Предприятие 8» расположено на компьютере с web-сервером.

Общая схема публикации

На компьютере, где выполняется публикация, должен быть установлен и настроен поддерживаемый web-сервер. При установке web-сервера необходимо обязательно установить поддержку ISAPI расширений.

Общая схема публикации выглядит следующим образом:

  • выполняется регистрация модуля обработки запросов (модуля расширения web-сервера), соответствующего web-серверу;
  • на web-сервере регистрируется виртуальное приложение;
  • создается каталог виртуального приложения и в нем размещается файл default.vrd;
  • для пользователей назначаются права на каталог с файлом базы данных (только для файлового варианта);
  • может потребоваться перезапуск web-сервера.

Вышеперечисленные действия можно выполнить как вручную, при помощи утилиты webinst, так и с помощью специального механизма конфигуратора, который вызывается с помощью пункта меню «Администрирование/Публикация на web-сервере». Публикация при помощи этого механизма может быть выполнена только в том случае, если на компьютере с web-сервером имеется возможность запустить конфигуратор необходимой разрядности.

Внимание!
Для ОС Windows Vista и старше, чтобы выполнить публикацию, следует запускать конфигуратор с помощью пункта «Запуск от имени администратора» контекстного меню приложения или программы запуска. Если публикация выполняется с помощью утилиты webinst, то от имени администратора должна быть запущена или сама утилита, или командная строка Windows.

Для публикации web-клиента следует использовать версию «1С:Предприятия», использующуюся для работы с информационной базой, к которой планируется получить доступ с помощью web-клиента. Также при выполнении публикации следует помнить, что разрядность регистрируемого расширения web-сервера должна совпадать с разрядностью самого web-сервера.

Публикация на web-сервере
04-01_01

Затем следует выполнить следующие действия.

Ввести имя виртуального каталога в поле «Имя», при этом имя виртуального каталога может состоять только из символов латинского алфавита.

В поле «Web-сервер» указать тип web-сервера, для которого выполняется публикация.

В поле «Каталог» указать физическое местоположение каталога, в котором будут расположены файлы, описывающие виртуальный каталог; при использовании web-сервера Apache имя каталога должно состоять только из символов латинского алфавита.

В зависимости от необходимости установить отметку «Публиковать тонкий и web-клиент», «Публиковать web-сервисы по умолчанию» и «Публиковать web-сервисы».

Для web-сервера IIS можно указать необходимость выполнять аутентификацию на web-сервере средствами ОС.

При необходимости выбирать web-сервисы, которые необходимо опубликовать. Колонка «Адрес» может быть изменена. В данной колонке задается синоним web-сервиса. Обращение к web-сервису возможно как по имени, так и по синониму.

Нажатие кнопки «Опубликовать» запускает процесс публикации. Нажатие кнопки «Отключить» выполняет удаление публикации с выбранного web-сервера.

После выполнения публикации будет предложено перезапустить web-сервер в следующих случаях:

  • изменилась версия «1С:Предприятия»;
  • изменился путь к модулю расширения web-сервера;
  • выполнена новая публикация для web-сервера Apache.

При использовании анонимной аутентификации и файловой информационной базы при выполнении публикации происходит проверка наличия прав доступа на каталог информационной базы у пользователя, от лица которого выполняется анонимный доступ. Если пользователь не обладает необходимыми правами, выдается предупреждение о невозможности работы с этой информационной базой через web-сервер. Рекомендуется или дать права на каталог с информационной базой, или установить флажок «Использовать аутентификацию операционной системы на web-сервере».

Публикация web-клиента
04-01_02
Примечание
Для работы с конфигурацией через web-сервер конфигурация не должна быть пустой.

Если публикация из конфигуратора недоступна (например, при использовании 64-разрядной ОС Windows), публикацию можно выполнить с помощью утилиты командной строки webinst, которая доступна в ОС Windows в обеих разрядностях.

Утилита webinst

Утилита предназначена для настройки web-серверов с целью поддержки работы web-клиента и входит в состав дистрибутива системы.

webinst [-publish] | -delete <web-сервер>

-wsdir — виртуальный каталог.

-dir — физический каталог.

-connstr — строка соединения.

-confpath — путь к файлу httpd.conf.

[-osauth]

Внимание!
Название и значение параметра должны разделяться символом пробел. Если параметр содержит пробелы, он должен быть заключен в кавычки ("). Если внутри параметра есть символ кавычки, то внутренние кавычки должны быть удвоены.

При запуске утилиты допустимо указание только одного из параметров: iis, apache2 или apache22.

Для выполнения публикации утилита должна запускаться от имени администратора. При работе в ОС Windows будет выполняться запрос на повышение привилегий.

-publish — по умолчанию выполняется публикация web-клиента на web-сервер

-delete — выполняется удаление публикации из указанного каталога (включая удаление физического каталога с публикацией)

Примечание
При удалении публикации достаточно указания только параметра — wsdir. Остальные параметры могут указываться для контроля работы.

<web-сервер> — указывает, для какого web-сервера будет выполняться действие (публикация или удаление публикации):

  • iis — web-сервер семейства Microsoft Internet Information Services версий 5.1, 6.0, 7.x (только при использовании с ОС Windows);

  • apache2 — web-сервер Apache 2.0;

  • apache22 — web-сервер Apache 2.2.

-wsdir — имя виртуального каталога..

-dir — имя физического каталога, куда будет отображен виртуальный каталог web-сервера. Каталог должен существовать. Для web-сервера IIS 7.x не поддерживается публикация в том случае, если значение этого параметра указывает на каталог %SYSTEMDRIVE%\Inetpub\wwwroot.

Примечание
Имя каталога не должно завершаться символом «\», если оно заключено в кавычки. Правильно: "c:\my path", неправильно: "c:\my path\".

-connstr — строка соединения с информационной базой.

-confpath — полный путь к конфигурационному файлу (httpd.conf) web-сервера Apache. Данный параметр применяется только при использовании web-серверов Apache.

-osauth — при публикации настраивает использование аутентификации ОС на web-сервере. Данный параметр применяется только при использовании web-серверов IIS.

Пример команды публикации для IIS 7.0:

webinst –publish -iis -wsdir demo -dir "c:\inetpub\demo" -connstr "Srvr=server:1741;Ref=demo;"

В данном примере выполняется публикация web-клиента со следующими параметрами:

  • виртуальный каталог: demo (параметр -wsdir demo);

  • физический каталог, в который отображается виртуальный каталог c:\inetpub\demo (параметр -dir "c:\inetpub\demo");

  • строка соединения с информационной базой Srvr=server:1741;Ref=demo;

  • (параметр -connstr "Srvr=server:1741;Ref=demo;", клиент-серверный вариант информационной базы).

Пример команды публикации для Apache 2.2:

webinst –publish -apache22 -wsdir DemoWS -dir "c:\apache.www\demows" -connstr "File=""c:\my db\demows"";" -confpath "C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf"

В данном примере выполняется публикация web-клиента со следующими параметрами:

  • виртуальный каталог DemoWS (параметр -wsdir demoWS);

  • физический каталог, в который отображается виртуальный каталог c:\apache.www\ demows (параметр -dir "c:\apache.www\ demows ");

  • строка соединения с информационной базой File="c:\my db\demows"; (параметр -connstr "File=""c:\my db\demows"";", файловый вариант информационной базы);

  • конфигурационный файл web-сервера Apache C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf (параметр -confpath "C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf").

Пример команды удаления публикации для IIS:

webinst –delete –iis –wsdir DemoWS

В данном примере выполняется удаление публикации, сделанной в виртуальном каталоге. Виртуальный каталог: DemoWS (параметр -wsdir DemoWS). Остальные параметры определяются автоматически по этому имени.

Настройка поддержки web-клиента

В данном разделе содержится описание настройки web-серверов, работающих под управлением ОС Windows, для работы web-клиента.

Примечание
Для установки web-сервера IIS может потребоваться дистрибутив используемой операционной системы.

Для публикации web-клиента следует установить флажок «Публиковать тонкий клиент и web-клиент».

Internet Information Services

В поле «Web-сервер» укажите Internet Information Services. Если необходима аутентификация операционной системы на web-сервере, установите соответствующий флажок («Использовать аутентификацию операционной системы на web-сервере»).

Дополнительно следует выполнить следующее:

  • дать права на чтение для пользователя, от лица которого выполняются запросы (пользователь IUSR_<PC_NAME> для IIS версий 5.1 и 6.0 или группа IIS_IUSRS для IIS версий 7.0 и 7.5) на каталог bin файлов конкретной версии системы «1C:Предприятие»;
  • дать права на модификацию пользователю, от лица которого выполняются запросы (пользователь IUSR_<PC_NAME> для IIS версий 5.1 и 6.0 или группа IIS_IUSRS для IIS версий 7.0 и 7.5) на каталог информационной базы (только в случае файлового варианта).

 

Примечание
Текст <PC_NAME> в имени пользователя IUSR_<PC_NAME> означает имя компьютера, на котором установлен IIS. Так, для компьютера с именем IIS-COMP имя пользователя будет выглядеть следующим образом: IUSR_IIS-COMP.

Apache версии 2.0

В поле «Web-сервер» укажите Apache 2.0. Дополнительно следует выполнить следующее:

  • дать права на чтение для пользователя, от лица которого работает web-сервер, на каталог bin файлов конкретной версии системы «1C:Предприятие 8»;
  • дать права на модификацию пользователю, от лица которого работает web-сервер, на каталог информационной базы (только в случае файлового варианта).

Apache версии 2.2

  • В поле «Web-сервер» укажите Apache 2.2. Дополнительно следует выполнить следующее:
  • дать права на чтение для пользователя, от лица которого работает web-сервер, на каталог bin файлов конкретной версии системы «1C:Предприятие 8»;
  • дать права на модификацию пользователю, от лица которого работает web-сервер, на каталог информационной базы (только в случае файлового варианта).

Настройка поддержки web-сервисов

Настройка поддержки web-сервисов заключается в настройке используемого web-сервера на работу с web-сервисами и в установке прав доступа к каталогам исполняемых файлов и базы данных (для файлового варианта работы).

В данном разделе содержится описание публикации web-сервисов для web-серверов, работающих под управлением ОС Windows. Считается, что web-сервер уже установлен.

Примечание
Для установки web-сервера IIS может потребоваться дистрибутив используемой операционной системы.

Для публикации менеджера сервисов следует установить флажок «Публиковать web-сервисы», а также в таблице, расположенной под флажком, выбрать публикуемые сервисы.

Internet Information Services

В поле «Web-сервер» укажите Internet Information Services. Нажмите кнопку «Опубликовать» или «Отключить» (в зависимости от необходимости).

Дополнительно следует выполнить следующее:

  • дать права на чтение для пользователя, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5) на каталог bin файлов конкретной версии системы «1C:Предприятие»;
  • дать права на модификацию пользователю, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5) на каталог информационной базы (только в случае файлового варианта).
Публикация для web-сервера IIS
04-04_01
Примечание
Текст <PC_NAME> в имени пользователя IUSR_<PC_NAME> означает имя компьютера, на котором установлен IIS. Так, для компьютера с именем IIS-COMP имя пользователя будет выглядеть следующим образом: IUSR_IIS-COMP.

Apache версии 2.0

В поле «Web-сервер» необходимо указать Apache 2.0. Далее следует нажать кнопку «Опубликовать» или «Отключить» (в зависимости от необходимости).

Дополнительно следует дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись).

Apache версии 2.2

В поле «Web-сервер» необходимо указать Apache 2.2. Нажать кнопку «Опубликовать» или «Отключить» (в зависимости от необходимости).

Дополнительно следует выполнить следующее: дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие 8» (чтение и выполнение) и каталог информационной базы (чтение и запись).

Безопасность web-сервисов

Аутентификация. Платформа системы «1С:Предприятие» поддерживает следующие виды аутентификации при работе с web-сервисами:

  • HTTP Basic аутентификацию;
  • анонимную аутентификацию;
  • аутентификацию средствами системы «1С:Предприятие»;
  • аутентификацию средствами операционной системы.

При взаимодействии клиента и сервера web-сервисов применяется стандартная HTTP Basic аутентификация. Она использует challenge-response протокол обмена данными.

Алгоритм HTTP Basic аутентификации заключается в следующем:

  • клиент посылает запрос серверу web-сервисов;
  • если web-сервис требует аутентификации и запрос клиента не содержит реквизитов пользователя, сервер посылает ошибку аутентификации;
  • если web-сервис не требует аутентификации, запрос обрабатывается стандартным образом;
  • если клиент получил ошибку аутентификации, он посылает серверу реквизиты пользователя — имя пользователя и пароль;
  • если web-сервис требует аутентификации и запрос клиента содержит реквизиты пользователя, сервер выполняет аутентификацию пользователя;
  • если аутентификация прошла успешно, запрос обрабатывается стандартным образом;
  • если аутентификация не выполнена, сервер посылает ошибку аутентификации.

Выполнение аутентификации на сервере может производиться средствами системы «1С:Предприятие» и средствами Windows (только для IIS).

  • Для того, чтобы аутентификация выполнялась средствами системы «1С:Предприятие», нужно в настройках web-сервера установить анонимный доступ к web-сервису (для IIS Directory Security — Edit — Authentication Methods — Anonymous access). Учетные записи пользователей системы «1С:Предприятие», под которыми планируется вход в систему, не должны быть привязаны к учетным записям Windows. При входе в систему в этом случае нужно задавать имя пользователя и пароль учетной записи пользователя системы «1С:Предприятие».
  • Для того, чтобы аутентификация выполнялась средствами Windows, нужно в настройках IIS установить HTTP Basic аутентификацию (DirectorySecurity — Edit — Authentication Methods — Basic authentication). Учетные записи пользователей системы «1С:Предприятие», под которыми планируется вход в систему, должны быть привязаны к учетным записям Windows. При входе в систему в этом случае нужно задавать имя пользователя и пароль учетной записи пользователя Windows.

При аутентификации средствами системы «1С:Предпрятие» можно разрешить анонимный вход в систему. В этом случае если клиент не задает реквизиты пользователя, они берутся из дескриптора сервиса.

При конфигурировании IIS стоит обратить внимание на учетные записи пользователей Windows, под которыми работает web-сервис. Учетная запись, под которой стартует процесс web-сервиса, должна иметь право на запуск бинарных файлов из каталога установки необходимой версии системы «1С:Предприятие». Учетная запись, под которой выполняется запрос, должна иметь право на запуск бинарных файлов каталога установки конкретной версии системы «1С:Предприятие» и права на чтение и изменение данных в каталоге информационной базы (только для файлового варианта). Учетная запись, под которой выполняется запрос, в случае анонимной аутентификации IIS задается в настройках виртуальной директории web-сервиса, в случае Basic аутентификации определяется реквизитами пользователя, выполнившего запрос.

Работа по защищенному каналу. При взаимодействии клиента и сервера web-сервисов обмен данными может вестись по защищенному каналу. Защищенный канал работает по протоколу обмена SSL 3.0/TLS 1.0. Для того чтобы включить возможность работы по протоколу SSL, нужно:

  • получить серверный сертификат для web-сайта, для которого планируется использовать SSL (сертификат выдается центром сертификации и привязывается к этому web-сайту).
  • корневой сертификат центра сертификации должен быть добавлен в файл cacert.pem из каталога установки системы «1С:Предприятие» на всех клиентах, которым необходим доступ по защищенному каналу, сертификат должен быть в формате PEM (Privacy Enhanced Mail);
  • для виртуальной директории web-сервиса нужно включить поддержку SSL (для IIS Directory Security — Secure Communication — Require secure channel).

Настройка поддержки OpenID-аутентификации

Настройки для использования OpenID

Если информационная база использует OpenID-аутентификацию, то в файле default.vrd (с помощью которого выполнена публикация информационной базы на web-сервере) необходимо указать адрес OpenID-провайдера, с помощью которого происходит аутентификация. Для этого предназначены элементы <openid> и <rely>.

Пример:

<?xml version="1.0" encoding="UTF-8"?>

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"

  xmlns:xs="http://www.w3.org/2001/XMLSchema"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     base="/demo"

     ib="Srvr=&quot;tcp://Server&quot;;Ref=&quot;demo&quot;;"

     enable="false">

 <openid>

  <rely url="http://myserver.org/users-ib/e1cib/oida"/>

 </openid>

</point>

Эти элементы описывают URL к провайдеру OpenID, который выполняет аутентификацию пользователя для информационной базы, использующей OpenID-аутентификацию. В данном примере в качестве провайдера OpenID выступает информационная база, опубликованная по адресу http://myserver.org/users-ib.

Настройки для провайдера OpenID

Если информационная база выступает в роли OpenID-провайдера, то в файл default.vrd (с помощью которого выполнена публикация информационной базы на web-сервере) необходимо указать, что данная информационная база выступает в роли OpenID-провайдера. Для этого предназначены элементы <openid> и <provider>.

Пример:

<?xml version="1.0" encoding="UTF-8"?>

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"

  xmlns:xs="http://www.w3.org/2001/XMLSchema"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     base="/users-ib"  ib="Srvr=&quot;tcp://Server&quot;;Ref=&quot;oidusers&quot;;"

     enable="false">

 <openid>

  <provider>

   <lifetime>1209600</lifetime>

  </provider>

 </openid>

</point>

Эти элементы указывают:

  • что информационная база выступает в роли OpenID-провайдера;
  • что время жизни признака аутенцифицированности составляет 1 209 600 секунд (или 2 недели);
  • URL, который следует указать в элементе <rely> файла default.vrd (адрес OpenID-провайдера), может выглядеть следующим образом — http://myserver.org/users-ib/e1cib/oida. Такой вид URL будет иметь в том случае, если имя хоста, на котором опубликована информационная база, является myserver.org.

Дополнительный интерфейс для использования внешними ресурсами

К OpenID-провайдеру, реализованный «1С:Предприятием», можно обращаться по стандартному протоколу OpenID 2.0 с учетом некоторых особенностей:

  • в запросах на интерактивную и неинтерактивную аутентификации (параметр openid.mode равен checkid_immediate или checkid_setup) параметрам openid.claimed_id и openid.identity должно быть установлено значение http://specs.openid.net/auth/2.0/identifier_select (установка этого значения означает, что идентификатор пользователя определяет провайдер);
  • запросы на неинтерактивную аутентификацию с прочими значениями параметров openid.claimed_id и openid.identity приводят к запросу на интерактивную аутентификацию, во время которой значения openid.claimed_id и openid.identity определяет провайдер.

В OpenID-провайдере реализована форма для ввода имени пользователя и пароля при интерактивной аутентификации.

Также система предоставляет ряд команд, упрощающих использование OpenID-провайдера сторонними системами, описание которых приведено ниже. При описании команд используются следующие сокращения:

  • ProviderIB – информационная база OpenID-провайдера;
  • RPID – информационная база зависимой стороны OpenID.
Параметры запросов передаются в кодировке UTF-8.

Запрос XRDS-документа провайдера OpenID выполняет получение XRDS-документа, описывающего свойства OpenID-провайдера.

Синтаксис:

https://hostname/ProviderIB/e1cib/oid2op

Возвращаемое значение:

XRDS-документ, описывающий свойства OpenID-провайдера.

Запрос XRDS-документа зависимой стороны OpenID выполняет получение XRDS-документа, описывающего свойства зависимой стороны OpenID.

Синтаксис:

https://hostname/RPIB/e1cib/oid2rp

Возвращаемое значение:

XRDS-документ, описывающий свойства зависимой стороны OpenID.

Запрос аутентификации — выполняет запрос аутентификации.

Синтаксис:

https://hostname/ProviderIB/e1cib/oid2op?cmd=auth

Параметры:

  • openid.auth.user (обязательный) — имя пользователя, как оно задано в базе OpenID-провайдера.
  • openid.auth.pwd (обязательный) — пароль пользователя.
  • opeind.auth.short (необязательный) — если параметр установлен в значение true, то аутентификация выполняется в рамках сессии web-браузера, но не больше, чем значение параметра lifetime файла default.vrd, описывающего публикацию информационной базы OpenID-провайдера.
  • openid.auth.check (необязательный) — требуется выполнить проверку ответа на данный запрос (параметр установлен в значение true). Имеет смысл только в том случае, если указан параметр openid.return_to.
  • openid.return_to (необязательный) — содержит URL, на который выполняется переход после обработки запроса.

Возвращаемое значение:

Если не указан параметр openid.return_to, то возвращается пустой документ с кодом состояния HTTP:

  • 200 — аутентификация прошла успешно;
  • 400 — аутентификация не выполнена.

Если параметр openid.return_to указан, то выполняется переадресация на адрес, указанный в параметре. В случае успешной аутентификации к URL добавляются следующие параметры:

  • openid.auth.user с именем пользователя в качестве значения;
  • openid.auth.uid с одноразовым идентификатором в качестве значения, для проверки данного ответа (данный параметр указывается в том случае, если в запросе на аутентификацию указан параметр openid.auth.check).

В случае неудачной аутентификации выполняется переход по указанному URL без добавления каких-либо параметров.

Запрос OpenID-провайдера для проверки активной аутентификации — выполняется проверка аутентификации.

Синтаксис:

https://hostname/ProviderIB/e1cib/oid2op?cmd=lookup

Параметры:

  • openid.return_to (обязательный) — содержит URL, на который выполняется переход после обработки запроса;
  • openid.auth.check (необязательный) — требуется выполнить проверку ответа на данный запрос (параметр установлен в значение true). Имеет смысл только в том случае, если указан параметр openid.return_to.

Возвращаемое значение:

Выполняется переадресация на URL, указанный в параметре openid.return_to. В случае успешной аутентификации к URL добавляются следующие параметры:

  • openid.auth.user с именем пользователя в качестве значения;
  • openid.auth.uid с одноразовым идентификатором в качестве значения, для проверки данного ответа (данный параметр указывается в том случае, если в запросе на аутентификацию указан параметр openid.auth.check).

В случае неудачной аутентификации выполняется переход по указанному URL без добавления каких-либо параметров.

Выполнить проверку ответа OpenID-провайдера — выполняет проверку ответа OpenID-провайдера для запросов cmd=auth и cmd=lookup в случае, если в запросе передан параметр openid.auth.check со значением true.

Синтаксис:

https://hostname/ProviderIB/e1cib/oid2op?cmd=check

Параметры:

  • openid.auth.user (обязательный) — имя пользователя, которое получено из одноименного параметра запроса;
  • openid.auth.uid (обязательный) — значение одноразового идентификатора ответа OpenID-провайдера, полученный из одноименного параметра запроса.

Возвращаемое значение:

Возвращается документ типа text/plain следующего содержимого:

  • is_valid:true – ответ действительно сформирован используемым OpenID-провайдером (при этом код состояния HTTP будет равен 200);
  • is_valid:false – используемый OpenID-провайдер не формировал проверяемый ответ (при этом код состояния HTTP будет равен 400).

Запрос отмены аутентификации для зависимой стороны — выполняет отмену аутентификации в том случае, если не известен URL OpenID-провайдера. Завершает текущий сеанс, отменяет аутентификацию на OpenID-провайдере, перезапускает web-клиент. web-клиент выполнит запрос отмены аутентификации для OpenID-провайдера.

Синтаксис:

https://hostname/RPIB/e1cib/oid2op?cmd=logout

Запрос отмены аутентификации для OpenID-провайдера — выполняет отмену аутентификации на указанном OpenID-провайдере.

Синтаксис:

https://hostname/ProviderIB/e1cib/oid2op?cmd=logout

Параметры:

openid.return_to (необязательный) — содержит URL, на который выполняется переход после обработки запроса.

Возвращаемое значение:

Если указан параметр openid.return_to, то выполняется переадресация на указанный URL, в противном случае возвращается пустой ответ с кодом состояния HTTP равным 200.

Особенности настройки web-серверов

Internet Information Services

Если используется 32-разрядный вариант расширения web-сервера на 64-разрядной версии операционной системы, то необходимо указать web-серверу, что он может выполнять 32-разрядные приложения. Для этого нужно выполнить следующие операции.

  • Для IIS 5.1, IIS 6.0 — необходимо запустить командный интерпретатор и выполнить в нем следующую команду cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
  • Для IIS 7.0, IIS 7.5 — открыть диалог основных настроек пула приложения («Панель управления — Администрирование — Диспетчер служб IIS — <Конкретный сервер> — Пулы приложений — <Нужный пул приложений> — Дополнительные параметры»; установить параметр Разрешены 32-разрядные приложения в значение Истина (True)).

При настройке IIS следует помнить, что в рамках одного пула приложений не могут исполняться более одного модуля расширения web-сервера, которые различаются только третьей и четвертой цифрами версии. Для организации такой работы следует использовать столько пулов приложений, сколько различных версии модулей расширения планируется использовать, и вручную привязать каждое виртуальное приложение web-клиента к нужному пулу приложений.

В тех случаях, когда ошибки «1С:Предприятия» (при работе с web-сервером IIS версий 7.0 или 7.5) отображаются текстом вида «500 — внутренняя ошибка сервера» (проблема с запрашиваемым ресурсом; ресурс не может быть отображен), следует изменить параметр, управляющий представлением ошибок. Для этого необходимо открыть диалог настройки параметров страниц ошибок: «Панель управления — Администрирование — Диспетчер служб IIS — <Конкретный сервер> — сайты — <Default Web Site> — <Имя виртуального приложения> — Страницы ошибок — Изменить параметры…». В открывшемся диалоге следует установить параметр «Если сервер обнаружил ошибку, возвратить» в значение «Подробные сообщения об ошибках». Затем нажать кнопку «ОК».

Apache

В случае публикации на web-сервере Apache 2.2 (работающего под управление ОС Windows) файлового варианта информационной базы, рекомендуется дополнять конфигурационный файл web-сервера Apache (httpd.conf) следующим фрагментом:

<IfModule mpm_winnt_module>

 ThreadStackSize 8388608

</IfModule>

Если во время работы информационной базы возникают проблемы, связанные с исчерпанием стека на стороне web-сервер, рекомендуется увеличить значение параметра ThreadStackSize.

Подробное описание параметра ThreadStackSize: http://httpd.apache.org/docs/2.2/mod/mpm_common.html#ThreadStackSize (на английском языке).

Reverse Proxy

Reverse proxy (обратный прокси-сервер) — прокси-сервер, который ретранслирует запросы клиентов из внешней сети на один или несколько серверов, расположенных во внутренней сети. Может использовать для балансировки нагрузки и повышения безопасности.

Если доступ к web-серверам, на которых опубликованы информационные базы «1С:Предприятия», осуществляется через reverse proxy, то при ненадлежащей настройке reverse proxy это может привести к неработоспособности некоторых механизмов. Это может происходить из-за того, что запрос, который поступает web-сервер «1С:Предприятия», поступает не от внешнего клиента, а от компьютера, на котором установлен reverse proxy.

Для того, чтобы избежать этих проблем, следует настроить reverse proxy таким образом, чтобы при переадресации HTTP-запроса соответствующим образом формировались заголовки запроса X-Forwarded-Port, X-Forwarded-Host и X-Forwarded-Proto. В этом случае «1С:Предприятие» сможет корректно «восстановить» внешний HTTP-запрос.

Подробное описание настройки обратного прокси-сервера следует искать в документации к web-серверу, используемого в этой роли.