В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного, так и для 64-разрядного модуля расширения веб-сервера.
0. Оглавление
- Что понадобится
- Установка веб-сервера IIS
- Установка компонент «1С:Предприятие»
- Настройка операционной системы
- Публикация базы данных на веб-сервере
- Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
- Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
- Подключение к опубликованной информационной базе через веб-браузер
- Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
- Конфигурационные файлы виртуального каталога
1. Что понадобится
- Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
- Права локального администратора на данном компьютере.
- Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.
2. Установка веб-сервера IIS
Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:
- Общие функции HTTP (Common HTTP Features)
- Статическое содержимое (Static Content)
- Документ по умолчанию (Default Document)
- Обзор каталогов (Directory Browsing)
- Ошибки HTTP (HTTP Errors)
- Разработка приложений (Application Development)
- ASP
- ASP.NET 3.5
- Расширяемость .NET 3.5 (.NET Extensibility 3.5)
- Расширения ISAPI (ISAPI Extensions)
- Фильтры ISAPI (ISAPI Filters)
- Исправление и диагностика (Health and Diagnostics)
- Ведение журнала HTTP (HTTP Logging)
- Монитор запросов (Request Monitor)
- Средства управления (Management Tools)
- Консоль управления IIS (IIS Management Console)
Подробно про процесс развертывания веб-сервера IIS я писал:
- В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:
- В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:
3. Установка компонент «1С:Предприятие»
На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:
- 1С:Предприятие
- Модули расширения веб-сервера
Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:
- Модуль расширения веб-сервера
4. Настройка операционной системы
Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:\inetpub\wwwroot\ ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).
В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».
Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).
Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».
Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.
Ну и наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS полные права на каталог с расположенными файлами данной информационной базы.
5. Публикация базы данных на веб-сервере
Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»
Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:
- Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
- Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
- Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
- Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
- Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.
Выбрав необходимые настройки публикации нажимаем «Опубликовать».
Если публикация прошла без ошибок, увидим соответствующее сообщение.
Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже
6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).
Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).
В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).
В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».
7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).
Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.
В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.
Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:\Program Files (x86)\1cv8\8.3.4.389\bin\wsisapi.dll» на «C:\Program Files\1cv8\8.3.4.389\bin\wsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.
8. Подключение к опубликованной информационной базе через веб-браузер
Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>. В данном примере это http://localhost/DemoAccounting/.
К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.
В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.
9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.
В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».
Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».
Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».
Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.
После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.
10. Конфигурационные файлы виртуального каталога
Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).
Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:
- default.vrd
- web.config
Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.
10.1. Файл default.vrd
В файле default.vrd описываются опубликованные Web-сервисы (элемент <ws>), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:
ib="File="C:\1C_BASE\DemoAccounting";"
Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.
В строке подключения можно указать логин и пароль пользователя. В этом случае, подключение к информационной базе будет выполняться от имени указанного пользователя. Например, для подключения от имени пользователя Продавец, строка подключения будет следующей:
ib="File="C:\1C_BASE\DemoAccounting";Usr=Продавец;Pwd=123;"
Для серверной информационной базы строка подключения будет иметь вид:
ib="Srvr="WIN2012"e;;Ref="e;Accounting"e;;"
Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.
Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.
10.2. Файл web.config
Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».
Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).
В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).
При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.
Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).
Здравствуйте. Не было у вас проблемы с апачем (разных версий). Когда клиентов больше одного, рестарится дочерний процесс апач. В логах только одна запись: parent child process exited with status 255 restarting. Находил решения на зарубежных форумах, при такой же строчке, увы не помогли. Купили новое железо на него поставил windows 7 pro и апач сразу начал такое творить. В интернете только у одного человека находил подобную проблему, он решил ее установкой IIS. Меня впрниципе устраивает IIS, но на нем почему-то зависает именно вторая опубликованная база, причем может зависнуть сразу при пуске, даже фоновые задания не успеваю запуститься. В 1с написал, но походу бесполезно… Не сталкивались Вы с таким?
Здравствуйте, нет с такими проблемами сталкиваться не приходилось. А почему зависает вторя база на IIS. Что пробовали сделать?
Спасибо, очень толково
Здравствуйте!
Все сделал по Вашей инструкции, на localhost работает, а вот по статике и удаленно через браузер не работает.
Сервер подключен через роутер на котором открыт только один порт.
Подскажите в чем может быть дело.
Заранее благодарен
Проброс портов нужно сделать на маршрутизаторе
Виталий, огромное спасибо за статью, всё написано очень доступно и развёрнуто. Имеется пара вопросов:
1. нацельте пожалуйста на документацию о публикации развёрнутого по Вашей статье сервиса во внешнюю сеть
2. при включении доменной авторизации при вход пользователя без запроса пароля возможен лишь при использовании IE, Chrome, Mozilla и скорее всего прочие требуют авторизации, а т.к. включена доменная авторизация, то в списке выбора этих пользователей нет, соответственно и зайти она не могут. Есть ли решение для авторизации пользователей через сторонние браузеры?
Заранее благодарен за ответ!
Вопрос 2 снимается, соответствующей настройкой безопасности браузеров авторизация вполне реализуема. Необходимо разрешить проверку подлинности пользователя — «Автоматический вход в сеть с текущим именем пользователя и паролем» в зоне надежных узлов. Адрес публикации приложения должен быть указан в списке надёжных.
Здравствуйте.
Спасибо Вам большое за статью. Есть ли у Вас возможность расписать как настроить работу через HTTPS для сервера на IIS. Возникла необходимость выложить 1С:Управление торговлей в интернет для работы наших сотрудников удаленно и поэтому необходимо хоть как то защитить данные, логины и пароли от злоумышленников.
Прошу извинить если не совсем понятно излагаю мысли.
Спасибо.
Идеш в Диспетчере IIS в Сертификати сервера, если есть сертификат, то слева будет «Импортировать» и импортируєш. Если сертификата нет, то надо создать «Создать самозаверенний сертификат»
Далее идеш в сайти — > вибираеш свой сайт -> Привязки — добавляєш 443 порт с указанием раннее созданного сертификата. 80 порт я у себя удалил
Далее идем в Параметри SSL, там можно виставить галку Требовать SSL
Сделал так. В итоге по https://localhost/ все открывается, а по https://мой_внешний_ip/ пишет «Невозможно отобразить страницу». По http открывается и так, и так (80-й я не удалял). В чем может быть проблема? Чего ему не хватает?
На шлюзе (маршрутизаторе) помимо 80 порта, необходимо пробросить на веб-сервер и порт 443, который использует протокол https. У вас прокинуты оба порта?
[стучит себя по лбу подручными предметами] Блин! Ну конечно!!! Вообще вылетело из головы про шлюз и разные порты у HTTP и HTTPS! Все заработало! Спасибо!!!
Добрый день. Подскажите, у меня сервер 2012, на нем настроен NAT и IIS. Все настройки по IIS и 1С сделал верно, на самом серваке по lokalhost открывает web 1C. Там же если в браузере прописываю свой внешний IP он тоже открывает 1С, но если подключаться с внешних PC он не открывает WEB 1C. В чем может быть причина. Так же создал папку в IIS и файлик index.html из староннего PC он видит а вот 1С запускать не хочет.
А что происходит? Какая ошибка при попытке зайти в 1С из внешней сети?
Добрый вечер.Тоже на сервере по lokalhost открывает web 1C, но через внешний IP — страница висит, потом сообщение, что время соединения истекло. Внешний IP проверен — работает терминальный доступ, но с указанием порта. На самом сервере тоже не получается через внешний IP.
При попытке зайти из внешней сети — страница висит, потом сообщает, что время соединения истекло. По lokalhost открывает web 1C, на самом сервере через внешний адрес — тоже нет. Внешний адрес используется для терминального доступа с указанием порта. Как в таком случае правильно указать адресную строку?
Имеются файловые базы, стандартные (УТ, Документооборот и прочее). Опубликованы на IIS. Нужно чтобы при обращении через веб клиент документооборот запускался с платформы 8.3.8 а УТ например 8.3.7. Такое возможно сделать на одном IIS? Понятное дело что если базы с одной платформы публиковать на Apache а другой на IIS то все будет работать.
Здравствуйте.
Да, возможно сделать такой вариант. Необходимо для каждого виртуального каталога задать обработчик нужной версии.
Здравствуйте! В статье необходимо уточнение: если у DefaultAppPool разрешены 32-рязрядные приложения то при загрузке 64-разрядного wsisapi.dll будет выдаваться ошибка, опцию следует отключить. Иными словами, если вы сначала сделали всё на 32-разрядной dll а потом решили переключиться на 64-разрядную, то либо надо отключить разрешение, либо вести раздельные пулы для 64 и 32-разрядных dll. Это довольно неочевидно и было установлено случайно: при каждой инсталяции мы устанавливали разрешение 32-разрядных приложений на всякий случай, в результате 64-битный wsisapi.dll никогда не запускался успешно, до тех пор пока это реально не потребовалось.
Да, все верно. Пул работает либо в режиме х64, либо в режиме х32. В этом случае удобно держать два пула для приложений разной разрядности.
Где ты раньше был)))) неделю мучался)))
Очень хорошая инструкция! Спасибо! Пользовался уже несколько раз.
Еще раз спасибо.
И вам спасибо. Очень приятно.
Для SQL 2014 (база UT) и сервер 1С +WEB сервер (на 2 разных виртуальных машинах) данная инструкция подойдет?
Да, конечно. Расположение сервера баз данных не имеет никакого значения.
Если сервер 1С и Web расположены на одной машине, то действуйте по инструкции. Если нет, и нет возможности установить 1С для публикации на веб-сервере, то есть небольшие тонкости, посмотрите комментарии к статье.
Подскажите как включить проверку подлинности на web сервере IIS 10 через аутентификацию пользователей windows, что бы перед подключением к веб серверу нужно было авторизоваться через учетную запись windows, а потом через пользователя 1C (не нахожу пункта: проверки подлинности windows в настройках web server IIS )
Надо установить компонент через Диспетчер серверов. Но что дальше делать пока не разобрался
а все разобрался забыл компонент один установить, правда теперь сервак почему то медленно работать стал
Доброе утро! у меня стоит задача протестировать веб версию 1с 8.3 на виртуальной машине(опубликовать на веб сервере). Теперь у меня возникает вопрос, могу ли я протестировать его на виртуальной машине с windiws server 2008 r2, или я могу на своем комп. с windows 7 использовать расширения IIS и опубликовать его?Если кто сталкивался,то скажите как? И еще вопрос,могу ли я на не лицензированной платформе 1с, сделать публикацию?Это вообще возможно?!Обязательно ли на 1с Сервере? или же можно на клиентской тоже опубликовать? Обьясните, кто сможет
Здравствуйте.
Вы вполне можете протестировать работу своей информационной базы в WEB на своей машине, подняв IIS и опубликовав базу в Windows 7.
Пожалуйста, не используйте «не лицензированную» 1С. А вообще, для теста не имеет значения, каким образом получена лицензия.
Добрый день.
Спасибо за статью. Очень выручила.
Есть один вопрос. Язык платформы «ru». При переходе по адресу
http://localhost/Base
перебрасывает на адрес
http://localhost/Base/ru_RU/
— имеем расхождение между языком платформы и языком интерфейса пользователя. В тонком клиенте решалось дополнительными параметрами. Это не есть хорошо. Куда копать в этом случае? Как указать, чтобы при открытии попадать на
http://localhost/Base/ru/
Здравствуйте.
Не совсем понял, какой язык должен быть у пользователя при работе через брауер и какой язык установлен в конфигурации по умолчанию?
Может указать язык сразу в строке адреса, например: http://localhost/Base/en_EN/?
Добрый день.
Язык платформы — «ru». В браузере перебрасывает на «ru_RU» — из-за этого предупреждение о несоответствии языков.
Да, сейчас указываем в строке адреса сразу правильное значение http://localhost/Base/ru/. Но это не решение, так как после служебных сообщений, например о том, что уже открыт сеанс — все равно перебрасывает на «ru_RU».
Вот и хотелось бы узнать, в каком направлении искать решение проблемы.
Подобная ситуация только все наоборот, В браузере при открытии опубликованной базы перебрасывает en_US, соответсвенно половина меню на английском. Все что мог пересмотрел уже, куда копать подскажите плиз.
Виталий, здравствуйте.
В офиц.документации администратора 1С (я читал для версии 8.3.10) указано, что из всего набора служб ролей IIS для возм.публикации веб-расширения (и работы с 1С по http/https) необходима служба роли «Расширения ISAPI».
Мой опыт показывает, что, действит.,только этой службы достаточно.
Скажите, чем вы руководствовались приводя расширенный список служб ролей IIS, необ.к установке?
Также замечу, что в док.приводятся др.(более строгие) требования к NTFS Permissions. И опять таки, мой опыт показывает, что такого (более строго) набора разрешений ФС вполне достаточно для норм.работы системы.
Скажите, почему вы приводите иной набор требуемых NTFS Perms?
В частности, для чего группе «IIS_IUSRS» полные права на папку установки 1С?
Заранее благодарен за ответ.
Здравствуйте. При написании статьи руководствовался книгой «Руководство администратора 1С» (правда версию уже назвать не смогу) и личным опытом.
1. К ролям, устанавливаемым по умолчанию с Web-сервером добавляю только:
ASP
ASP.NET 3.5
Расширяемость .NET 3.5 (.NET Extensibility 3.5)
Расширения ISAPI (ISAPI Extensions)
Фильтры ISAPI (ISAPI Filters)
2. На момент написания статьи, у меня почему-то не работала публикация без предоставления группе «IIS_IUSRS» доступа к файлу wsisapi.dll. На весь каталог установки я назначаю права, чтобы не возвращаться к этому после обновления платформы.
Но вы правы, я сейчас проверил на Windows Server 2012 R2 и платформе 8.3.8.1964. Действительно, публикация работает без дополнительной настройки прав на каталог C:\Program Files\1cv8\.
Спасибо за ваш комментарий.
Виталий, добрый день.
1. Про Службы ролей IIS:
ASP
ASP.NET 3.5
Расширяемость .NET 3.5 (.NET Extensibility 3.5)
Фильтры ISAPI (ISAPI Filters)
вы уст.потому, что они вам нужны для работы др.сайтов этого сервера?
Повторюсь ещё раз: в «Руководство администратора 1С» (для 8.4) говорится о необх.добавления ТОЛЬКО «Расширения ISAPI».
(мой опыт показывает, что этого достаточно).
2. Ещё добавлю, что в «Руководство администратора 1С» сказано, что версия CLR.NET пула defaultpoolapp д.б. в значении «Без управляемого кода».
У вас в статье об этом ничего не сказано.
(Справедливости ради, замечу, что и без этой спец.настройки 1С раб.норм (мой опыт)).
Про гр.польз.IIS_IUSRS / польз.IUSR:
В «Руководство администратора 1С» сказано, что для IIS 7.x и выше менять NTFS perms нужно для гр.польз..IIS_IUSRS.
Однако, я вижу, что в IIS 8.5 (in w2k12sr2) с настройками по-умолчанию анонимный IIS-пользователь — это польз.IUSR.
Можете это как-л.прокомментировать?
Всем привет. проблема следующая при подключении через внешку к 1с почемуто выскакивает запрос сертификата (всплывает список сертификатов которые установлены у буха в крипто про) как от этого избавиться? игрался с запросами ssl толку 0. стоит iis все настроено через 443 порт. через доменное имя. сертификат получен на год.
Кто-то сталкивался с проблемой опубликованных web-сервисов внутри локальной сети с пробросом через другой порт извне?
Есть локальный сервер с веб-сервисами. Внутри сети всё работает. Сделали доступ извне через редирект портов portal.server.com:5555 -> localserver:80
Когда в браузере указываю http://portal.server.com:5555/base_name/ws/ws1.1cws?wsdl
то сам веб-сервис находится и корректно отображается на страничке.
А когда обращаюсь с приложения, то он как буд-то порт не видит, а стучится без порта на внешний сервер portal.server.com.
Где прописать чтоб использовался порт 5555?
Это средствами 1С или настройкой веб-серверов? …и какого из них?
Для справки:
portal.server.com — на Апаче
localserver — на IIS
Windows Server 2012
не решили?
У меня точно такая же проблема! Судя по xml вижу что возвращает без порта… где вписать порт? думал в Default.vrd — не вижу подобного атрибута =(
Вариант на IIS добавить (именно добавить точно так-же как и 80-тый) другой порт (в вашем случае 5555) (https://support.microsoft.com/ru-ru/help/149605) и делать проброс порт в порт… portal.server.com:5555 -> localserver:5555
Добрый день.
Проблема следующая. При выполнении операции через внешний ip выскакивает ошибка «Access Error: 404 — Not Found Can’t locate document: /Test/ws/ws1.1cws». При этом wsdl по внешнему ip доступен и открывается в браузере. В локальной сети данная операции выполняется. Не подскажите в чем может быть проблема или в какую сторону хотя бы смотреть?
База опубликована на IIS, Windows 10 Pro, платформа 8.3.10.2168
Добрый день.
Можно ли опубликовать базу по двум разным адресам?
Да, конечно, почему бы и нет.
Можно на нескольких адресах прописать путь к одной базе. Как на одном, так и на разных WEB-серверах.
Добрый день.
На Windows 2016 x64 опубликована БД 1С версии 8.3.10.2667 (тоже x64). При входе через браузер открывается страница загрузки 1С Предприятие и дальше ничего не происходит, запрос авторизации не выходит, ошибки не выдаёт. При этом на самом сервере через клиент 1С запускается в норме. В чём может быть причина?
Здравствуйте.
Попробуйте в каталоге с публикацией создать файл index.html с текстом «Hello world». При входе на ресурс вы видите эту фразу в браузере?
Добрый вечер.
Запустил 1С веб сервер, с локальной машины все удачно подключается, а вот с ноутбука никак не могу. Использую локальный айпи и имя инфо-базы, никак не могу определить ошибку.
Кто ни будь сталкивался?
По инструкции все перепроверил.
А почему не можете подключиться? В чем ошибка?
Попробуйте брандмауэр на сервере отключить.
Добрый день.
На Windows 2008 R2 Standart на IIS опубликована БД 1С версии 1С:Предприятие 8.3 (8.3.9.2170). При входе через браузер или тонкий клиент из вне открывается страница загрузки 1С Предприятие и дальше ничего не происходит, запрос авторизации не выходит, ошибки не выдаёт. В чём может быть причина?
Здравствуйте.
Трудно сказать, что у вас не так. Попробуйте вот что:
1. В каталоге с публикацией создайте файл index.html с текстом «Hello world». При входе на ресурс вы видите эту фразу в браузере?
2. Если в п.1 ответ «Да», то попробуйте опубликовать пустую (без конфигурации) информационную базу и войти в нее. Какой будет результат?
здравствуйте! как Вы написали, пустую базу опубликовывает! В чем может быть причина, что страница загрузки 1С Предприятие открыта и дальше ничего не происходит, запрос авторизации не выходит, ошибки не выдаёт?
На 2012 как часы работает! Спасибо за полезную инфу!
Добрый день.
На сервере установлено две базы, 1С82 и 1С83. Сначала была установлена 82, в ней настроили веб-сервис, который работает. После установки 83, в ней настроили веб сервис, опубликовали его, а подключение не происходит.
Сейчас первый веб-сервис работает (на 82), а при подключении ко второму (на 83) появляется сообщение: Для входа на сервер server1c1.asu.ru по адресу (null) нужны имя пользователя и пароль. При вводе имени и пароля появляется ошибка HTTP 500.
Права на папки все выданы (в интернете много примеров).
Помогите пожалуйста.
Здравствуйте.
Вам необходимо создать 2 разных пула приложений. Каждый из пулов приложений назначьте на опубликованные базы разных версий (8.2 и 8.3). Проверьте также, что правильно настроены обработчики для каждого из приложений в диспетчере IIS.
Добрый день! Самая подробная инструкция в интернете)) Все сделал по инструкции выше и база наконец таки опубликовалась))
Но при входе через браузер он не может найти какой то лицензионный ключ. В итоге так и не могу в нее зайти((, а также не могу зайти через мобильное приложение, пишет что вообще база отсутствует.
Что может быть?
Спасибо за комментарий. Относительно вашего вопроса:
1. Проверьте, что в свойствах информационной на сервере 1С параметр «Разрешить выдачу лицензий сервером 1С:Предприятия» стоит значение «Да».
2. Проверьте, а запускается ли 1С на том же сервере, где и запущена служба агента сервера 1С?
3. Приведите также полностью ошибку при попытке запуска через браузер и через мобильное приложение?
Кстати, про публикацию информационной базы и разработку мобильного приложения у меня есть записанный вебинар: http://tavalik.ru/sozdanie-krossplatformennogo-prilozheniya-na-1s-za-30-minut-desktop-os-web-android/
Может он вам поможет?
Развернул Апач. настроил вроде все. Окно регистрации из веб клиента из тонокого клиента открывается. После ввода логина, пароля пустое окно 1с открывается и все. вот скрин http://joxi.ru/Rmzg49zc09OyO2
поразрешал вроде все
Я так понял, что вы ожидали увидеть интерфейс обычного приложения? В веб-клиенте 1С работает только в режим управляемых форм. По другому, к сожалению, никак.
Добрый день. На сервере 2008 с iis 7 крутится несколько сайтов. Как в таком случае добавить 1с базу в виде ещё одного сайта? Не получается по инструкции
Здравствуйте, алгоритм действия может быть таков:
1. Публикуете информационную базу 1С на сайте по умолчанию.
3. Затем перемещаете созданный при публикации каталог из C:\inetpub\wwwroot в место постоянного назначения.
4. В диспетчере IIS, создаете новый сайт, указываете путь к каталогу из п. 2, настраиваете привязки.
Давно читаю — очень нравилось! НО! в этой статье полный Пи: ни у Вас ни в других источниках не сказано про то — что в 1с исчо есть идентификация и если начать это делать на рабочей базе (а я думаю что 100500 программеров именно так и делают) то будут ошибки!!!
Ну и 2й баг: ИЕ — полная лажа, потому как если пытаться подключиться с Еперы — то в ней фсьо чотко — есть ошибка, которая гуглиться. ИЕ же — как всегда.
поправьте статью — многие скажут спасибо!
Здравствуйте.
Не понимаю, о каких ошибках идет речь, можете привести пример?
Во многих корпоративных средах Internet Explorer — единственный доступный браузер. О настройке Internet Explorer для работы с 1С я писал здесь: http://tavalik.ru/dobavlenie-veb-sajta-v-spisok-nadezhnyx-uzlov-ie/
Добрый день, Виталий. После переезда на новый сервер и публикации базы перестал работать авто вход пользователя на веб интерфейсе (Аутентификация операционной системы), вход по логину работает, авто вход работает на толстом клиенте. В чем может быть причина?
Виталий, добрый день! Спасибо за статью.
Может подскажете что-то по моей ситуации. Прочитал руководство, полистал ИТС, перелопатил рунет, не получается решить. Никак не могу справиться с публикацией.
Сервер 1: ВИН 2012 стоит 1с и скуль 64х (не в домене)
Сервер 2: ВИН 2016, на нем же поднят IIS (уже вер.10) другие сайты работают на IIS. Клиент 1с стоит 64х. этот сервер в домене.
Я сделал настройки IIS. сопоставление настроил, права на папку wwwroot и bin нужной версии для пользователя IUSR сделал. сервер iis перезапускал. Веб-сервис опубликовался, но при доступе появляется ошибка 500 , не открывает окно 1с. В подробных сведениях Код ошибки 0x800700c1 . Пробовал менять настройки проверки подлинности, подсовывал права админа, ничего.
Все решил, почитав комментарии тут. Я включил сразу поддержку 32-х разрядных приложений, она и мешала. Все равно спасибо за статью.
Доброго времени суток!
Большое спасибо за статьи,очень толково и помогает!
И вам спасибо.
Спасибо. Подскажите, пожалуйста, нужно ли после обновления платформы/конфигурации производить какие-то действия для работы 1С через веб?
Если обновление конфигурации не требует обновления платформы, то никакие дополнительные действия не требуется выполнять. Если требуется обновление платформы, то базу требуется заново опубликовать через Конфигуратор.
Доброго времени суток! Устанавливаю web server IIS на windows server 2016, все права дал для базы 1с и для 1cv8, база публикуется без ошибок, путь проверял, верный. вылетает ошибка localhost/base1c. ошибка http 500 Куда копать? Спасибо!
Здравствуйте, вот такая проблема
платформа
1С:Предприятие 8.3 (8.3.10.2505)
конфигурация
Бухгалтерия государственного учреждения, редакция 1.0 (1.0.55.5)
после публикации и подключения к базе. Открывается рабочий стол редакции 2.0, как сделать чтоб рабочий стол программы открывался в редакции 1.0 ( подключение делаю через клиента 1С )
К сожалению никак. Через WEB и тонкий клиент информационные базы 1С работают только в режиме управляемых форм, коих нет в вашей конфигурации.
Добрый день.
Не подскажите с чем может быть связана проблема постоянного запроса логина и пароля, при работе через веб клиент? Т.е. в клиент вписываю ссылку, все работает.
Кака только пользователь хочет сохранить какай либо фаил, запрашивается логин и пароль.
Если выбрать условно 20 файлов, запросит 20 раз логин и пароль.
Как победить?
Очень странная ошибка. Похожа на неудачную установку модуля работы с файлами в веб-клиенте. Скажите, авторизация выскакивает точно 1С-ная? Не доменная на форме 1С?
Статья хорошая.
Однако . Есть у меня проблема. что очень долго отображается страница осв и долго формирует . Это проблема только ели подключаться к базе через интернет. Через локальную сеть работает все нормально. Подскажите куда копать? Порты может еще какието пробросить. Сечас проброшен только 80 порт.
Спасибо за отзыв.
Относительно вашего вопроса, попробуйте другие веб-сервера и машины. Проверьте работу по внешнему и локальному адресу. В общем, исключайте по одному звену в цепочке, возможно найдете причину.
Никаких других портов, кроме 80 пробрасывать не надо.
Здравствуйте!
Сделал по вашей инструкции.
База 1С файловая.
Платформа 1С 8.3.12.1529
Развернул IIS 7,5 на Windows Server 2008 R2
Захожу по адресу http://localhost/bgu и открывается ошибка 500
Подробные сведения об ошибке:
Модуль IsapiModule
Уведомление ExecuteRequestHandler
Обработчик 1C Web-service Extension
Код ошибки 0x8007007f
Запрашиваемый URL-адрес http://localhost:80/bgu
Физический путь C:\inetpub\wwwroot\bgu
Способ входа Анонимная
Пользователь, выполнивший вход Анонимная
Не подскажите в чем может быть проблема?
Буду благодарен помощи.
Здравствуйте.
Проверьте, пожалуйста, что все пункты инструкции выполнены, настроены все права для пользователя и библиотеки обработчика. Обработчик также добавлен корректно.
спасибо. отлично все разложено по полочкам.
все запустил.
Спасибо. Часто поглядываю на эту статью при обновлении платформы 1с.
Добрый день!
Изменяю обработчик на предыдущую версию для одного из виртуальных каталогов в IIS. Перестает работать все. В каталоге с измененным обработчиком — ошибка виртуального каталога, во всех остальных — ошибка — http запрос вместо https — ну это еще понятно, это лечится убиранием галок.
Но что я делаю не так ??
Спасибо за статью.
Вопрос к гуру.
Хороший сервер.
База на 50 пользователей опубликована через iis.
Подключения пользователей очень по-разному себя ведут.
Отдельные сеансы хорошо работают, отдельные при этом сильно тормозят.
Подскажите пожалуйста куда копать?
Спасибо.
Скорее всего дело в скорости соединения «тормозящих» клиентов.
Если они работают через браузер — попробуйте работу через тонкий клиент.
Попробуйте также для таких пользователей в настройках клиента установить «Скорость соединения» = «низкая».
Добрый день!
Подскажите как организовать доступ из внешки с точки зрения безопасности?
Насколько безопасен метод с пробросом портов 80>80 ?
Здравствуйте.
Лучше, конечно, использовать протокол https (необходимо купить и установить сертификат). При http вводимые пользователем логин / пароль могут перехватить. А также для усиления безопасности можно включить доменную авторизацию, вести список «белых» IP-адресов или даже использовать VPN.
В моей практике, многие компании используют прямой проброс 80-ого порта во внешку. Проблем нет. Но если вы так озабочены проблемами безопасности, то лучше тогда с безопасниками на эту тему и советоваться.
статья конечно правильная. и если у кого не работает, то что-то не так сделали, а проброс портов уж сами должны догадываться и к 1с это не имеет отношение. а вот не нашел в статье, что только конфигурации на управляемых формах так могут работать. например бух 3, а не 2. как-то написать бы это понятно для тех которые как я этого не знают. выяснив это самостоятельно нашел и в комментариях. но сама фраза о формах ни о чем не говорит. не все же знают что есть так и так.
День добрый.
А как сделать кроме логина и пароля еще запуск браузера в режиме фулскрин.
И почему-то если прописать логин и пароль, в 1С не запускает автоматически обработка? Надо самому ее запускать, а вот если не указывать пароль то обработка запускается.
Не совсем понял, про какую обработку идет речь. Не могли бы описать проблему более детально?
добрый день. сделал на апаче и получил ошибку доступа к e1cib/logForm сеанс не найден. а IIS отсутствует в компонентах.
Добрый день!
Возникла немного другая проблема.
Из-за ошибок в реализации некоторого функционала в последних платформах (конкретнее — диаграммы Ганта) — нам необходимо опубликовать на IIS более раннюю платформу, при этом основные приложения (бухгалтерия, несколько баз) должна работать на последней платформе.
Как это правильнее реализовать?
Вам необходимо поднять 2 кластера 1С:Предприятие разных версий на параллельных портах и разнести базы по этим серверам. Далее публикуете каждую баз так, как описано в данной статье.
Сделал по гайду, все вроде бы как радостно работает, но при попытке чего либо печатать после вывода документа (формирует как надо и распечатать можно) в вебклиенте выползает ошибка. Возможно дело и не в печати, просто столкнулся когда вкладку документы открывал и отправлял на печать. Работе не мешает, но вот как то жить спокойно не дает ошибка 😀
Cannot read property ‘la’ of null
TypeError: Cannot read property ‘la’ of null
at kX.h.Ar (mod_main_mainform.js?sysver=8.3.16.1030:2716:55)
at rX (mod_main_mainform.js?sysver=8.3.16.1030:2716:113)
at R5.h.fCa (mod_main_mainform.js?sysver=8.3.16.1030:5906:253)
а нафига давать полные права? Полные права нужны только админу, всем остальным достаточно будет изменения
Да, спасибо, скорее всего вы правы. Проверю при возможности.