Публикация базы 1С на веб-сервере IIS
Публикация информационной базы 1С на IIS даёт доступ к базе через браузер и тонкий клиент по HTTP(S) — без проброса портов кластера 1С.
Подготовка
- Устанавливаем роль Web Server (IIS) через Server Manager. Обязательные компоненты помимо стандартных:
- ISAPI Extensions и ISAPI Filters (Application Development);
- Static Content, Default Document;
- Windows Authentication — если планируется доменная авторизация в базе.
- При установке платформы 1С на этом сервере должен быть отмечен компонент «Модули расширения веб-сервера». Если не был установлен — Программы и компоненты → 1С → Изменить → добавить компонент.
- Разрядность платформы 1С и пула приложений IIS должны совпадать (сейчас это практически всегда x64).
Публикация из конфигуратора
- Запускаем конфигуратор от имени администратора (иначе публикация завершится ошибкой доступа).
- Администрирование → Публикация на веб-сервере…
- Заполняем:
- Имя — имя виртуального каталога, например
buh(будет в адресе:http://server/buh); - Веб-сервер — Internet Information Services;
- Каталог — куда положить файлы публикации, например
C:\inetpub\wwwroot\buh\; - галки «Публиковать тонкий клиент и веб-клиент» — включены.
- Имя — имя виртуального каталога, например
- Нажимаем Опубликовать, соглашаемся на перезапуск веб-сервера.
В каталоге публикации появится файл default.vrd — в нём строка подключения к базе; его правкой можно изменить публикацию без конфигуратора.
Права и пул приложений
- Группам IIS_IUSRS и IUSR выдаём права чтение на:
- каталог публикации (
C:\inetpub\wwwroot\buh); - каталог
binустановленной платформы (C:\Program Files\1cv8\<версия>\bin).
Для файловой базы дополнительно нужны права изменение на каталог самой базы.
- каталог публикации (
- В IIS Manager → Application Pools у пула публикации (обычно
DefaultAppPool):- Enable 32-Bit Applications =
False(для платформы x64); - перезапускаем пул.
- Enable 32-Bit Applications =
Проверка
Открываем в браузере:
http://localhost/buh
Должно открыться окно входа в базу. Далее:
- веб-клиент — работа прямо в браузере;
- тонкий клиент — при добавлении базы выбираем «На веб-сервере» и указываем адрес
http://server/buh(вариант подключения описан в Подключении базы MSSQL сотруднику).
HTTPS
Для доступа извне публикуем только по HTTPS:
- В IIS привязываем сертификат к сайту (Bindings → Add → https). Бесплатный сертификат Let's Encrypt на Windows удобно выпускать клиентом win-acme.
- Снаружи закрываем 80-й порт, оставляем только 443.
- Ещё лучше — не публиковать IIS в интернет напрямую, а выпускать пользователей через VPN.
Типовые проблемы
| Симптом | Решение |
|---|---|
| HTTP 500.19 | Не хватает прав IIS_IUSRS на каталог публикации или bin платформы |
| HTTP 404 при открытии | Не установлены ISAPI Extensions/Filters, либо пул 32-bit при платформе x64 |
| «Ошибка при выполнении запроса POST» | Разрядность пула ≠ разрядности платформы; проверить Enable 32-Bit Applications |
| Окно входа открывается, база не пускает | Проверить строку подключения в default.vrd и доступность кластера 1С |