8.х WEB Публикация на нескольких серверах.

Тема в разделе ""1C:Web-Сервер"", создана пользователем o_O, 6 апр 2017.

  1. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    275
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Имеется несколько веб-сервисов, как опубликовать некоторые сервисы на одном сервере, другие сервисы - на другом сервере?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.828
    Симпатии:
    1.024
    Баллы:
    204
    Если при публикации оно позволяет флажками выделить нужные сервисы - то так, иначе - никак, да и смысла в этом как не много, а вот геморроя - много.
  3. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.371
    Симпатии:
    88
    Баллы:
    54
    Доброго,
    Web сервер IIS ?
    Если серверы на физически разных машинах, то нужна установленная платформа на каждом, и доступ к базе 1С (тем или иным способом), нужна от платформы библиотека "wsisapi.dll"
    далее в папках куда публикуется база (корневой адрес) нужно соответствующим образом поправить "vrd" файл, чтобы он содержал информацию о публикуемом на данном сервере "web сервисов" и не забыть выполнить соотв. настройки сервера, в папке появиться файл "web.config" в котором указан "обработчик" путь и параметры "wsisapi.dll"
    На примере :
    путь к dll : "C:\Program Files (x86)\1cv8\8.3.<далее согласно версии>\bin"
    путь к публикации на первом сервере : "C:\inetpub\wwwroot\1C"
    путь к публикации на втором сервере : "C:\inetpub\wwwroot\1C"
    первый и второй серверы физически разные машины
    файл публикации первого сервиса vrd, на первом сервере :
    Код:
    <?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="/1C"
         ib="Srvr=&quot;<сервер базы 1С, например 1CServer>&quot;;Ref=&quot;<имя базы в которой действуют сервисы,  например 1CBase>&quot;;">
       <ws enable="true"
           pointEnableCommon="false">
         <point name="<Имя веб сервиса, как указан в конфигурации, например DataExchange>"
             alias="<Имя файла публикации, например Exchange.1cws"
             enable="false"
             reuseSessions="dontuse"
             sessionMaxAge="20"
             poolSize="10"
             poolTimeout="5"/>
       </ws>
    </point>
    
    файл публикации второго сервиса vrd, на втором сервере :
    Код:
    <?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="/1C"
          ib="Srvr=&quot;<сервер базы 1С, например 1CServer>&quot;;Ref=&quot;<имя базы в которой действуют сервисы,  например 1CBase>&quot;;">
       <ws enable="true"
           pointEnableCommon="false">
         <point name="<Имя веб сервиса, как указан в конфигурации, например DataProcess>"
             alias="<Имя файла публикации, например DataParse.1cws"
             enable="false"
             reuseSessions="dontuse"
             sessionMaxAge="20"
             poolSize="10"
             poolTimeout="5"/>
       </ws>
    </point>
    
    Настройки веб серверов совпадают, содержание файла "web.config":
    Код:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
      <handlers>
      <add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files (x86)\1cv8\8.3.<далее согласно версии>\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="None" />
      </handlers>
      </system.webServer>
    </configuration>
    
    В случае одного сервера но разных доменных имен, измениться только путь к папке публикации и значение параметра "base" в файлах vrd, значение должно совпадать с именем "сайта" в настройках IIS, по сути с именем папки в которой находится файл публикации, например путь к публикации на сервере : "C:\inetpub\wwwroot\1CTrend", тогда base="/1CTrend"

    Думаю должно сработать