Модуль расширения веб сервера 1с висят соединения
Использование веб-сервера и публикаций информационных баз — один из способов оптимизации 1С. Особенно при работе с ИБ в файловом варианте. Так безопаснее. Сотрудники подключаются к ИБ 1С через браузер или тонкий клиент , не имея прямого доступа к файлам.
В статье расскажем, как решали возникающие вопросы по настройкам Internet Information Services. Через призму своего опыта и коллег.
Подробнее описано здесь . В проекте использовали бесплатный SSL-сертификат Let's Encrypt. Но поспешили отключить внешние соединения на 80-й порт — что было ошибкой.
Сертификат выдается сроком на 90 дней. Для автоматического продления создается периодическое задание в Планировщике. При запуске задачи сайт должен быть доступен (пройти проверку домена) по 80-му порту.
II. Типовая настройка и публикация информационных баз на IIS
На что обратить внимание:
1. Состав компонентов IIS — в Интернете полно инструкций и указаний. Повторяться не будем.
2. Установка 1С необходимой разрядности . Варианта 2: x86 (32-разрядное приложение) или x64. Обязательно выбираем «Модули расширения веб-сервера».
3. Права для встроенной группы /пользователю веб-сервера (IUSR) на папки:
- с установленной платформой — на «чтение и выполнение» (для старта процессов);
- самих расположений ИБ — на «изменение» (в случае файлового варианта).
4. Публикация базы через Конфигуратор 1С . Возможно потребуется открыть программу с повышенными правами — «Запуск от имени администратора».
5. Для 32-разрядного клиента 1С в диспетчере IIS включаем разрешение запуска ( DefaultAppPool — Дополнительные параметры — Разрешены 32-разрядные приложения = True ). Для 1C x64 — значение не меняем.
6. На странице сопоставления обработчиков для «1С Web-service Extension» потребуется указать путь к исполняемому модулю :
- x86 — «C:\Program Files (x86)\1cv8\8.3.x.xx\bin\wsisapi.dll»;
- x64 — «C:\Program Files\1cv8\8.3.x.xx\bin\wsisapi.dll».
Либо изменяем путь к библиотеке в файлах web.config через Блокнот (располагается, как правило, в c:\inetpub\wwwroot\).
Если в п. 2 все сделано правильно — по указанному пути должен присутствовать файл wsisapi.dll.
7. В частных случаях требуется перезапуск служб IIS . Выполните «Перезапустить» в оснастке управления или перезагрузите сервер.
✅ Соблюдаем соответствие разрядности: если запускаем и публикуем 64-разрядный клиент 1С:Предприятие, то dll также должна быть 64-битной версии.
Если публикуем 32-разрядную версию 1С, то ставим разрешение запуска 32-разрядных приложений на IIS и проверяем путь к wsisapi из каталога x86.
III. Если клиент 1С зависает при подключении к базе по web
Прежде посмотрите этот материал — там общие рекомендации.
Другой случай. Файловая ИБ опубликована на IIS. После авторизации зависает на эмблеме 1С. При открытии Конфигуратора — все нормально.
В журналах Windows ошибка «Процесс, обслуживающий пул приложений "1С", не ответил на команду ping».
- проверьте права на папку с базой 1С для IUSR/IIS_IUSRS, уровень доступа — на «изменение»;
- в оснастке IIS «Пулы приложений — — Дополнительные параметры — Модель процесса» задайте для « Максимальная задержка отклика при проверке связи » значение, превышающее 90 секунд;
- посмотрите на поведение IIS при «Проверка связи включена» = False.
📝 Из справки: установка [pingingEnabled] (Проверка связи) в значение false не позволит IIS проверять, выполняется ли рабочий процесс, и таким образом сохранит его активным до остановки процесса отладки.
✅ Установка «Максимальное время отклика пинга» в большое значение позволит IIS продолжать наблюдение за рабочим процессом.
IV. Ошибка сервера в приложении '/AO_SSR'
Информационная база 1C опубликована на IIS. При работе через тонкий клиент, при нажатии на «Отчеты» вываливается ошибка.
« Ошибка сервера в приложении '/AO_SSR'. Обнаружено потенциально опасное значение Request.Path, полученное от клиента.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
✅ Откройте настройки пула приложений и проверьте «Режим управляемого конвейера» = «Classic».
В данной статье мы завершим настройку IIS 7.5 для работы с 1С. Опубликуем тестовую базу.
Будут рассмотрены следующие вопросы:
1. Настройка веб-сервера IIS 7.5 для работы с базой 1С
2. Публикация базы 1С на веб-сервере IIS 7.5
3. Подключение с помощью "тонкого клиента" с домашнего/офисного компьютера к базе 1С, развернутой на виртуальной машине
Этап 1. Настройка веб-сервера IIS 7.5 для работы с базой 1С
Этап 1. Шаг 1. Создаем папку, которая будет определять внешний путь к нашей базе
Например, имя папки будет: "1sTestBase"
Папку создаем внутри папки "wwwroot" - сюда по умолчанию смотрит веб-сервер IIS 7.5
Этап 1. Шаг 2. Запускаем Server Manager и раскрываем веб-сервер IIS 7.5
Этап 1. Шаг 3. Конвертируем нашу папку в приложение (Application)
Иконка нашей папки, созданной на шаге №1 должна изменится
Этап 1. Шаг 4. Определяем, что все файлы, которые будут находится в нашей папке, должны обрабатываться библиотекой 1С
Жмем два раза левой кнопкой мышки.
Добавляем скрипт который будет передавать управление библиотеке, поставляемой платформой 1С
Если версия платформы будет в дальнейшем меняться, то надо будет оперативно менять путь к библиотеке, соответствующей версии платформы
Этап 1. Шаг 5. Так как на виртуальной машине работает 64-х разрядная операционная система, а подключаться к базе могут клиенты с 32-х разрядными ОС, то необходимо включить поддержку 32-х разрядных ОС.
Позиционируемся на Application Pools
меняем значение false на True
Этап 1. Шаг 6. Контролируем действительно ли библиотека wsisapi.dll у нас подключена
Этап 1. Шаг 7. Устанавливаем права доступа
Нас будут интересовать 3 папки:
1. C:\Program Files(x86)\1cv8\8.3.2.172\bin (в этой папке находится библиотека wsisapi.dll)
2. C:\inetpub\wwwroot\1sTestBase (это созданная нами папка которая будет использоваться для доступа извне)
3. D:\02_Base\TestAzureBase (это закачанная база данных 1С, к которой нам и нужно получить доступ по тонкому клиенту)
Для всех папок необходимо для пользователя IIS_IUSRS установить доступ "Full control"
Для папки с нашей базой данных для пользователя Users, установить доступ "Modify"
Устанавливаем права для папки bin (C:\Program Files(x86)\1cv8\8.3.2.172\bin)
Устанавливаем права для папки 1sTestBase ( C:\inetpub\wwwroot\1sTestBase )
Устанавливаем права для папки TestAzureBase ( D:\02_Base\TestAzureBase )
Сначала для IIS_IUSRS
Затем для Users
Этап 2. Публикация базы 1С на веб-сервере IIS 7.5
Этап 2. Шаг 1. Создаем файл default.vrd, который будет указывать, где у нас находится наша база данных
Данный файл можно создать в Notepad++ вручную, или получить его путем опубликования конфигурации через конфигуратор
Также можете скачать данный файл в данной статье
Обратите внимание, что файл создается в кодировке UTF8
параметр "Base" показывает путь к нашей папке 1sTestBase, которую мы настраивали в IIS 7.5
параметр "Ib", указывает путь, где находится наша база данных (конфигурация 1С) - видно, что база данных находится на другом диске
Таким образом, извне подключение смотрит файл default.vrd, отрабатывает его библиотекой wsisapi.dll и запускает базу по указанному пути в параметре "Ib"
Собственно это и есть публикация конфигурации на веб-сервере IIS 7.5
Этап 3. Подключение с помощью "тонкого клиента" с домашнего/офисного компьютера к базе 1С, развернутой на виртуальной машине
Для успешного подключения к базе данных, развернутой на Windows Azure, необходимо решить вопрос с лицензиями 1С.
Возможны следующие сценарии:
1. На виртуальной машине установлены программные лицензии 1С
2. Между домашним/офисным компьютером и виртуальной машиной прокинут USB-порт (в этом случае USB-ключи с лицензиями 1С установлены на компьютере, а виртуальная машина видит их путем прокидки USB-порта)
3. Между домашним/офисным компьютером и виртуальной машиной организован VPN-туннель. В этом случае виртуальная машина рассматривается как компьютер в сети и, следовательно, можно указать на каких компьютерах сети находятся USB-ключи с лицензиями 1С
4. USB-ключ с лицензией 1С, установлен на локальном компьютере и, в этом случае, при организации подключения по "тонкому клиенту" будет задействован USB-ключ на локальном компьютере
Мы рассмотрим вариант №4, когда USB-ключ установлен на локальном компьютере. Также у Вас на компьютере должна быть установлена клиентская программа 1С "Тонкий клиент", либо включена поддержка подключения по тонкому клиенту при установке платформы 1С.
Этап 3. Шаг 1. Запускаем 1С и видим окно запуска
Этап 3. Шаг 2. Выбираем вариант создания базы
Этап 3. Шаг 3. Будем тестировать на конфигурации "Библиотека стандартных подсистем"
Именно эта конфигурация была использована для тестирования технологии Windows Azure, но Вы можете использовать и любую другую конфигурацию с поддержкой управляемых форм
Этап 3. Шаг 4. Указываем параметры подключения к нашей базе
Этап 3. Шаг 5. Указываем параметры запуска
Этап 3. Шаг 5. База добавлена. Запускаем
Этап 3. Шаг 6. Все идет по плану. Указываем пользователя.
Итак, мы смогли запустить базу 1С, развернутой на технологии Windows Azure.
Продолжение следует.
Специальные предложения
Я опять же про Apache ))
1 в Конфигураторе нажимаем Опубликовать,
2 Перезапускаем апач,
3 ВСЕ
вот была бы статья-сравнение про плюсы-минусы IIS и Apache.
(1) anton.fly7, Чтобы Запустить Конфигуратор на виртуальной машине, необходимо решить вопрос с лицензиями.
Вы каким образом запустили Конфигуратор на виртуальной машине?
По сравнению IIS и Apache - это не ко мне. Запустил IIS, 1С работает и ладненько. Мне большего пока не требуется.
Но если найдете такую статью - выложьте ссылку.
Добрый день.
Хотелось бы увидеть расчёт экономической обоснованности использования Windows Azure для целей размещения 1с.
Без учёта халявы BizSpark и 90 дней на тестирование.
Посмотрел статью, есть кой-какие замечания.
1)
Этап 1. Шаг 4.
Если модуль расширения от 1С публикуется впервые на этом сервере, то оснастка дополнительно предложит внести его в глобальный список разрешенных модулей расширения веб-сервера и на это предложение следует согласиться, иначе опять же работать не будет. Этот момент пропущен, а именно после него появится запись, приведенная на Этап 1. Шаг 6.
Неверно, разрядность клиентов тут совершенно ни при чем. Если на x64 веб-сервере установлена x32 версия платформы 1С, то чтобы заработал ее модуль расширения, необходимо в пуле приложений выставить эту настройку. Т.е это настройка на стороне веб-сервера, а совсем не клиента.
Опять же, если публикуется x64 модуль расширения веб-сервера, то эту настройку делать НЕ надо, иначе опять же не будет работать. То бишь эта настройка должна точно соответствовать разрядности публикуемого модуля расширения.
И еще раз - клиенты тут вообще ни при чем.
3)
Этап 1. Шаг 7.
IIS_IUSRS - это вообще-то группа пользователей. Для первых двух папок достаточно доступа на чтение, full control там не нужен. Несекьюрно. ;)
И зачем настройка доступа для группы users? Это по идее не нужно делать.
Точно также как и на windows server. Разницы никакой. Но спасибо за статью - буду теперь значить, что это яблоко не далеко от яблони упало.
А сколько по деньгам выходит публикация 1с веб-сервер на azure? Например у вас.
Что выгоднее свой сервер арендовать или использовать microsoft?
(9) Ed111111, Степан, иногда от меня ускользает смысл Ваших вопросов. Можете чуть точнее формулировать вопрос.
Публикация 1С веб-сервер - бесплатна. Если Вы развернули виртуальную машину, то дальнейшие шаги я прописал. во 2-й и в 3-й частях.
Если по поводу вообще о начале работы с Windows Azure, то для меня это практически бесплатно. Точнее моя компания участвует в программе Microsoft BizSpark. В рамках этой программы мне компенсируются услуги на сумму 6000$ в год. Поэтому, если не превышать этот лимит, то на 3 года использование Windows Azure будет мне бесплатно. По крайней мере, мне этого достаточно на текущем этапе развития моей компании. Плюс есть возможность увеличить данную сумму в 10 раз. Т.е. до 60 000$ (над этим как раз сейчас работаем)
Все остальные варианты: приобретение сервера, аренда сервера, размещение сервера в дата центре, аренда 1С - потеряли для меня актуальность.
Скажу, только что я Уже сэкономил 100 тысяч, которые планировал потратить на приобретение сервера, и 6000 в месяц, которые я стал бы тратить за возможность разместить сервер в датацентре. И плюс экономия на системных администраторах, которых бы я привлек для настройки сервера под мои нужды и дальнейшее сопровождение. Поэтому, по моим прикидкам, в первый год я сыэкономил примерно 200 тысяч. при этом сценарии.
Спасибо! Azure не пользуюсь, но для Windows Server 2008 R2 мне статья помогла. После того как с Апачам напрыгался.
Очень полезная статья, целы йдень бился. А тут все и разжевоно. Спасибо автору. Скомпоновал, обрисовал, расписал. гуд. Очень помогло выиграть время.
(17) AlexSunS, мануал по развертыванию SQL - баз на Azure скоро появится
строка подключения выглядит так:
Добрый день. Статья очень помогла, все работает. Остался один вопрос, как ограничить доступ извне на iis сервер. Сейчас получается есть общий доступ к 1С, остается только подобрать код к пользователям.
(18) alexand98,
можно с помощью Windows Firewall
ограничить вход по 80-му порту конкретными IP-адресами
Не получается.
Подскажите, в чём проблема?
(23) chum, тоже столкнулся с данной ошибкой.
С первого раза не установились компоненты CGI, ISAPI Extensions, ISAPI Filters.
Заходим в менеджер сервера, снова нажимаем добавить роль Web-server (IIS) и устанавливаем недостающие компоненты.
После этого, ошибка не возникает.
Уважаемый verter.me, ваша статья оказалась весьма полезна для меня. Однако, закончилась она на самом интересном месте.
Подскажите, в каком направлении копать, может кто сталкивался с подобной ошибкой?
Веб-приложения работают хорошо. Но попробовал подобным образом опубликовать мобильное приложение, при загрузке в мобильную платформу на телефоне выдает ошибку 500 (внутренняя ошибка сервера). Голову сломал не пойму что не так.
(27) IIS или Apache это не суть важно. Главное это возможность использовать Azure для портирования 1С. А вот про "нестабильно, постоянно сбои, клиенты воют" был бы благодарен если раскроете подробнее.
При нештатном завершении клиентского приложения (обрыв связи или закрытие окна браузера) клиентские сеансы «1С: Предприятие 8″ могут блокироваться и не переходят в спящий режим. Следует уточнить, что активным пользователем может быть:
В параметрах время засыпания сеанса и время удаления неиспользуемого спящего сеанса в разделе Администрирование/ Параметры информационной базы можно установить интервал времени, по истечении которого неактивный сеанс переводится в спящий режим и интервал времени, по истечении которого спящий сеанс завершается. Я предлагаю такие параметры параметры – 300 и 10 соответственно.
Если пользователь покидает базу (завершил сеанс) – его сеансовые данные удаляются. В режиме клиент сервер, сеансы хранятся на кластере серверов, за это отвечает менеджер кластера, именно для этого существует сервис сеансовых данных. Чтобы ускорить работу, данные сеансов кешируются в рабочих процессах и в толстых клиентах. При перезапуске кластера серверов данные сеансов будут сохранены. В том случае если активный пользователь не выполнил ни одного обращения к кластеру в течение 20-ти минут и сеанс не назначен соединению, то сеанс удаляется вместе с его данными. Для поддержания сеанса тонкий клиент и веб-клиент обеспечивают обращение к кластеру не реже 1 раза в 10 минут.
Однако. из-за нештатного завершения, сеанс может блокироваться и не переходить в спящий режим, и следовательно, завершиться автоматически не может и нужно их удалить через консоль сервера предприятия
Однако в файловом режиме, для снятия заблокированного сеанса веб-клиента не достаточно перезагружать web-сервер apache. Это обычно не помогает. Можно попытаться перезагружать ПК, где запущен браузер, но это тоже иногда не помогает. Лучше всего помогает запустить конфигуратор от имен администратора и снова опубликовать ИБ в разделе Администрирование/Публикация на веб- сервере.
Настройка веб-серверов для работы с «1С:Предприятием»
1. Общая информация
Версия IIS Версия операционной системы
IIS 5.1 Windows XP Professional
IIS 6.0 Windows Server 2003 или Windows XP Professional x64 Edition
IIS 7.0 Windows Vista или Windows Server 2008
IIS 7.5 Windows 7 или Windows Server 2008 R2
IIS 8.0 Windows 8 или Windows Server 2012
IIS 8.5 Windows 8.1 или Windows Server 2012 R2
IIS 10.0 Windows 10
2. Общие требования
На компьютере, где выполняется публикация, должен быть установлен и настроен поддерживаемый веб-сервер. Для установки веб-сервера Internet Information Services может потребоваться дистрибутив используемой операционной системы. При установке веб-сервера необходимо обязательно установить поддержку ISAPI расширений. Для установки веб-сервера требуются административные привилегии на компьютере, на который будет установлен требуемый веб-сервер. Публикация может выполняться двумя способами:
● С помощью диалога публикации на веб-сервере, если на компьютере с веб-сервером имеется возможность запустить конфигуратор необходимой разрядности.
● С помощью утилиты webinst.( Вызывать утилиту webinst следует из каталога bin 32-разрядной версии «1С:Предприятия»)
Для выполнения публикации на веб-серверах необходимы административные привилегии на компьютере, где выполняется публикация:
● Для ОС Windows Vista и старше, чтобы выполнить публикацию, следует запускать конфигуратор с помощью пункта Запуск от имени администратора контекстного меню приложения или программы запуска. Если публикация выполняется с помощью утилиты webinst, то от имени администратора должна быть запущена или сама утилита, или интерпретатор командной строки Windows.
● Для ОС Linux, чтобы выполнить публикацию, следует получить права суперпользователя (пользователь root) с помощью команды su или запускать приложение, которое выполняет публикацию, с помощью команды sudo.
При попытке выполнить публикацию система проверяет наличие необходимых привилегий для выполнения операции. Если привилегий текущего пользователя недостаточно для выполнения публикации, то:
Публикация возможна только в том случае, если «1С:Предприятие» расположено на компьютере с веб-сервером.
Для веб-сервера IIS 7.x и старше не поддерживается публикация в том случае, если свойство Каталог (или параметр dir утилиты webinst) указывает на каталог %SYSTEMDRIVE%\Inetpub\wwwroot.
ПРИМЕЧАНИЕ. Для работы с конфигурацией через веб-сервер конфигурация не должна быть пустой.
3. Виды публикации
3.1. Общая схема публикации
Общая схема публикации выглядит следующим образом:
● выполняется регистрация модуля обработки запросов (модуля расширения веб-сервера), соответствующего веб-серверу;
● на веб-сервере регистрируется виртуальное приложение;
● создается каталог виртуального приложения, и в нем размещается файл default.vrd и выполняется его настройка;
● для пользователей назначаются права на каталог с файлом базы данных (только для файлового варианта).
Для публикации веб-клиента следует использовать версию «1С:Предприятия», использующуюся для работы с информационной базой, к которой планируется получить доступ с помощью веб-клиента. Если на компьютере установлены две версии, например, 8.3.3.100 и 8.3.3.150 и запущен сервер «1С:Предприятия» версии 8.3.3.150 , то для публикации следует использовать конфигуратор или утилиту webinst ровно этой же версии.
При выполнении публикации следует помнить, что разрядность регистрируемого расширения веб-сервера должна совпадать с разрядностью самого веб-сервера.
Рис. 1. Публикация на веб-сервере
Затем следует выполнить следующие действия:
● Ввести имя виртуального каталога в поле Имя , при этом имя виртуального каталога может состоять только из символов латинского алфавита.
● В поле Веб-сервер указать тип веб-сервера, для которого выполняется публикация.
● В поле Каталог указать физическое местоположение каталога, в котором будут расположены файлы, описывающие виртуальный каталог. При использовании веб-сервера Apache имя каталога должно состоять только из символов латинского алфавита.
● В зависимости от необходимости установить флажки Публиковать тонкий и веб-клиент и Публиковать Web-сервисы .
● Для веб-сервера IIS можно указать необходимость выполнять аутентификацию на веб-сервере средствами ОС.
● При необходимости выбирать Web-сервисы, которые необходимо опубликовать. Колонка Адрес может быть изменена. В данной колонке задается синоним Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по синониму.
● При необходимости – выполнить настройки остальных параметров публикации.
● Нажатие кнопки Опубликовать запускает процесс публикации. Нажатие кнопки Отключить выполняет удаление публикации с выбранного веб-сервера.
После выполнения публикации будет предложено перезапустить веб-сервер в следующих случаях:
● изменилась версия «1С:Предприятия»;
● изменился путь к модулю расширения веб-сервера;
● выполнена новая публикация для веб-сервера Apache;
● выполнено отключение публикации.
При использовании анонимной аутентификации и файловой информационной базы, при выполнении публикации происходит проверка наличия прав доступа на каталог информационной базы у пользователя, от лица которого выполняется анонимный доступ. Если пользователь не обладает необходимыми правами, выдается предупреждение о невозможности работы с этой информационной базой через веб-сервер. Рекомендуется или дать права на каталог с информационной базой, или установить флажок Использовать аутентификацию операционной системы на веб-сервере.
Если публикация из конфигуратора недоступна (например, при использовании 64-разрядной ОС Windows), публикацию можно выполнить с помощью
утилиты командной строки webinst, которая доступна в ОС Windows и Linux в обеих разрядностях. Далее будет подробно описан диалог публикации и
ключи командной строки утилиты webinst.
3.2. Диалог публикации
Диалог публикации служит для создания публикации или подготовки файла-шаблона для публикации с помощью утилиты webinst (с использованием параметра командной строки -descriptor).
Все параметры, которые можно редактировать при создании публикации, размещены на двух закладках. Рассмотрим их подробнее.
3.2.1. Кнопки диалога
Кнопка Опубликовать выполняет публикацию на веб-сервере. При публикации происходит создание каталога на диске и настройка указанного веб-сервера для работы с «1С:Предприятием». Следует помнить, что публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию ( Default Web Site ) и для пула приложений по умолчанию ( DefaultAppPool ).
Под ОС Linux выполняются следующие действия:
● Для каталога, в котором расположен файл default.vrd , в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер;
● Для файла default.vrd устанавливается доступ по чтению для группы, включающей пользователя, от имени которого работает веб-сервер.
В случае публикации файловой информационной базы, для каталога с файлом информационной базы в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер, а также настраивается наследование группы-владельца для обеспечения работы с информационной базой .
Рис. 2. Публикация на веб-сервере
Кнопка Отключить выполняет удаление приложения из веб-сервера и каталога публикации, если это необходимо.
Кнопка Сохранить выполняет сохранение параметров, указанных в диалоге публикации на веб-сервере, в файл. При сохранении система запрашивает имя и место расположения файла, в который будет выполнено сохранение. Сохранение будет выполнено в формате файла default.vrd . С помощью этой команды можно создавать файлы шаблонов, которые будут использоваться в качестве параметра -descriptor утилиты webinst. В качестве значений атрибутов ib и base элемента point будут записаны параметры той информационной базы, из которой выполняется сохранение файла.
Кнопка Загрузить позволяет загрузить для редактирования произвольный файл default.vrd. При загрузке игнорируются атрибуты ib и base элемента point загружаемого файла.
Кнопка Закрыть выполняется закрытие диалога.
Кнопка Справка открывает окно со справочной информацией о диалоге публикации.
3.2.2. Закладка «Основные»
3.2.2.1. Общие параметры
Рис. 3. Публикация на веб-сервере. Основные
На данной закладке можно задать основные параметры публикации.
Имя. Указывает имя публикации. При публикации с помощью утилиты webinst описывается параметром -wsdir . В файле default.vrd соответствует атрибуту base элемента point.
Веб-сервер . Указывает, для какого веб-сервера выполняется публикация. Веб-сервера Apache добавляются в список в том случае, если они обнаружены на компьютере. При публикации с помощью утилиты webinst , используемый веб-сервер указывается одним из параметров iis, apache2 , apache22 или apache24 . При работе в ОС Linux возможна публикация только для веб-сервера Apache.
В том случае, если система не смогла однозначно определить версию установленного на компьютере веб-сервера Apache (2.2 или 2.4), в списке будут присутствовать обе версии веб-сервера. При этом следует учитывать, что для веб-сервера Apache версии 2.2 и 2.4 различаются изменения, выполняемые в конфигурационном файле веб-сервера. Поэтому неверное указание версии веб-сервера приведет к неработоспособности публикации.
Каталог . Указывает физический каталог на диске, в котором будет находиться файл default.vrd и куда будет отображен виртуальный каталог веб-сервера. Каталог должен существовать. При публикации с помощью утилиты webinst описывается параметром -dir.
Публиковать тонкий и веб-клиент . Отвечает за возможность работы с опубликованной информационной базой с помощью тонкого и веб-клиента. Если флажок установлен, возможна работа с опубликованной информационной базой с помощью тонкого и веб-клиента. В файле default.vrd соответствует атрибуту enable элемента point .
Публиковать стандартный интерфейс OData . Отвечает за возможность получения доступа к стандартному интерфейсу OData прикладного решения. Подробнее механизм стандартного интерфейса OData описан в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту enableStandardOData элемента point .
Публиковать дистрибутив . Определяет возможность получения и установки клиентского приложения в том случае, если не совпадают версии клиентского приложения и сервера. В качестве дистрибутива используется zip-архив, полное имя которого указывается в качестве значения свойства Расположение публикуемого дистрибутива. В файле default.vrd эти свойства соответствуют атрибуту pubds t элемента point . В архиве должен
располагаться дистрибутив клиентского приложения. При установке будут использоваться параметры установки, указанные в файле 1cestart.cfg (аналогично обычной установке клиентского приложения).
Использовать аутентификацию операционной системы. Разрешает системе установить возможность аутентификации ОС на веб-сервере IIS.
Адрес перехода при окончании работы веб-клиента позволяет указать URL, на который будет выполняться переход после окончания работы веб- клиента. В файле default.vr d соответствует элементу exitURL .
3.2.2.2. Закладка Web-сервисы
Рис. 4. Публикация Web-сервисов
Публиковать Web-сервисы . Установка данного флажка приведет к тому, что будут опубликованы Web-сервисы, созданные в конфигурации и перечисленные в таблице, расположенной ниже флажка. В файле default.vrd соответствует атрибуту enabl e элемента ws . Если флажок сброшен, то это эквивалентно отсутствию элементу ws в файле default.vrd или наличие элемента ws с атрибутом enable, установленным в значение true.
Публиковать Web-сервисы по умолчанию . Отвечает за возможность использования в данной информационной базе Web-сервисов, которые опубликованы без явного указания разрешения использования. В файле default.vrd соответствует атрибуту pointEnableCommon элемента ws.
Таблица ниже флажка Публиковать Web-сервисы содержит перечень публикуемых Web-сервисов и позволяет управлять публикацией каждого Web-сервиса. Первая колонка управляет публикацией конкретного Web-сервиса. Если флажок сброшен, то данный Web-сервис будет запрещен к использованию (его нельзя будет вызвать). В файле default.vrd соответствует атрибуту enable элемента point .
Вторая колонка (с именем Имя) содержит имя Web-сервиса, как оно задано при создании. Описание Web-сервисов приведено в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту name элемента point.
Последняя колонка таблицы (с именем Адрес) содержит псевдоним имени публикуемого Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по псевдониму. Псевдоним Web-сервиса можно редактировать в окне публикации. В файле default.vrd соответствует атрибуту alias элемента point.
Web-сервисы, которые расположены в подключенных расширениях, не отображаются в данной таблицы и могут быть опубликованы только редактированием файла default.vrd вручную.
Публиковать Web-сервисы расширений по умолчанию. Отвечает за возможность использования Web-сервисов, которые поставляются в расширениях конфигурации. В файле default.vrd соответствует атрибуту publishExtensionsByDefault элемента ws .
3.2.3. Закладка «Прочие»
Рис. 6. Прочие параметры публикации на веб-сервере
На данной закладке можно изменить вспомогательные параметры публикации.
Каталог временных файлов . Позволяет указать каталог временных файлов для работы расширения веб-сервера или файлового варианта информационной базы. В файле default.vrd соответствует атрибуту temp элемента point .
Группа Пул соединений . Описывает элемент pool файла default.vrd. Подробнее см. здесь. Также параметры этой группы управляют работой системы отслеживания разрыва соединений.
Группа Отладка. Описывает элемент debug файла default.vrd.
Группа OpenI D. Описывает элемент openid файла default.vrd.
Разделение данных . Описывает элемент zones файла default.vrd. Подробнее остановимся на структуре таблицы с разделителями.
В таблицу попадают все независимые разделители, существующие в конфигурации или загруженном файле. Первая колонка (без имени) определяет необходимость создания элемента zone для выбранного разделителя. Следует помнить, что сопоставление элемента выполняется не по имени разделителя, а по его порядковому расположению в списке. Если отключается первый разделитель, то имеет смысл отключить и все остальные, т. к. параметры элемента zones будут применены системой к другим разделителям.
Колонка Имя содержит имя разделителя, как оно задано в свойствах общего реквизита. Флажок в следующей колонке определяет, будет задано значение разделителя в элементе zone или нет. Если флажок установлен, то в качестве значения атрибута value будет использовано значение из колонки Значение.
Флажки в колонках Указание и Безопасное отвечают за атрибуты safe и specify (соответственно) элемента zone файла default.vrd.
Параметр Фоновые задания в файловом варианте описывает возможность использования фоновых заданий в файловом варианте информационной базы (атрибут allowexecutescheduledjobs корневого элемента point ).
Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:
2. Публикации базы в 1С
На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты), обязательно выбрав при установке компоненты:
- 1С:Предприятие
- Модули расширения веб-сервера
Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:
2.1 Настройка прав доступа для IIS
Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «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 полные права на каталог с расположенными файлами данной информационной базы.
2.2 Публикация базы данных на веб-сервере
Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»
Откроется окно настройки свойств публикации на веб-сервере. Основные поля, необходимые для публикации, уже заполнены по-умолчанию:
- Имя виртуального каталога — имя, по которому будет происходить обращение к базе данных на веб-сервере. Может состоять только из символов латинского алфавита.
- Веб-сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
- Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
- Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов, которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
- Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.
Выбрав необходимые настройки публикации, нажимаем «Опубликовать».
2.3 Подключение к опубликованной информационной базе через веб-браузер
К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80 - по внешнему) IP-адресу.
3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS
Наличие SSL-сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных.
Let’s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation) со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего обеспечивается непрерывность защиты.
Далее описан способ получить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты LetsEncrypt-Win-Simple. Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS и автоматически выпустить и привязать к нему SSL-сертификат.
3.1 Создание SSL-сертификата
Распакуем его в каталог на сервере с IIS: c:\inetpub\letsencrypt
Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.
Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.
Далее утилита выведет список запущенных на IIS сайтов и предложит выбрать сайт, для которого нужно выпустить сертификат.
После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:\Users\User\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым. Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.
3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.
Создаем отдельный пул в IIS для letsencrypt
Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).
Указать новый сертификат в «Сертификаты SSL»:
Настроить привязку к нашему сайту:
4. Подключение кассового оборудования. Проброс COM-портов через TCP/IP с помощью Virtual Serial Ports Emulator (VSPE).
4.1 Настройка VSPE на сервере
Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».
После нужно создать виртуальные порты (для каждой кассы свой порт). Номера портов лучше взять пониже, дабы избежать проблем.
В открывшемся окне в выпадающем меню выбрать TcpServer. Нажать кнопку «Далее».
Установить локальный номер tcp-порта, который будет прослушиваться. Выбрать COM-порт, к которому подключено оборудование через преобразователь интерфейсов. Нажать на кнопку «Настройки».
Нажать кнопку «Готово».
В появившемся окне нажать на кнопку запуска (зеленый треугольник). Серверная часть настроена.
4.2 Настройка VSPE на клиенте.
Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».
В открывшемся окне в выпадающем меню выбрать «Connector».
Выбрать виртуальный COM-порт, который будет использоваться для проброса. Нажать на кнопку «Готово».
Нажать на кнопку «Создать новое устройство».
В открывшемся окне в выпадающем меню выбрать TcpClient
Указать IP-адрес удаленного сервера и номер TCP-порта, на который будет осуществляться подключение. Выбрать виртуальный COM-порт, который будет использоваться для соединения.
В появившемся окне нажать на кнопку запуска (зеленый треугольник). Клиентская часть готова.
После меняем настройки 1С на наши виртуальные порты. Делаем тестирование.
5. Примечание
Несколько нюансов данного ПО:
-
Данный продукт бесплатный для Windows с архитектурой х86 и платный для х64. Использовать версией для х64 можно и без ключа. Просто постоянно выскакивает предложение купить программу. Других ограничений (по времени работы или функционалу) нет.
Программа не сохраняет настройки автоматически и не запускается в момент старта ОС. Поэтому необходимо сохранить настроенную конфигурацию и создать ярлык с параметром:
где, c:/****.vspe - путь к сохраненному файлу.
Созданный ярлык помещаем в автозагрузку или создаем bat-файл для запуска программы с использованием сохраненной конфигурации. Bat-файл должен содержать строку следующего формата:
Для автоматического запуска программы VSPE после запуска ОС Windows следует поместить ссылку на этот bat-файл в автозагрузку или планировщик заданий. (для серверной и клиентской части).
Мы также готовы оказать помощь в настройке веб-публикации и подключении кассового оборудования.
Нашим клиентам мы предлагаем реализацию данного проекта и последующее ИТ-обслуживание в рамках ИТ-аутсорсинга.
Читайте также: