Публикация 1С:Предприятия на веб-сервере IIS 7.5 (Windows Server 2008 R2) — задача, с которой сталкиваются администраторы при переходе на тонкий клиент или организацию удалённого доступа. Несмотря на то, что IIS 2008 не поддерживает последние версии платформы 1С без дополнительных манипуляций, его до сих пор активно используют в корпоративных сетях из-за стабильности и совместимости с устаревшим ПО. В этой статье мы разберём не только базовую установку, но и нюансы настройки безопасности, оптимизации производительности и диагностики типичных ошибок.

Особенность работы с IIS 7.5 заключается в необходимости ручной установки компонентов .NET Framework 3.5/4.x, настройки пулов приложений и корректной привязки сайта к портам. Кроме того, администраторам придётся столкнуться с ограничениями операционной системы (например, отсутствием поддержки TLS 1.3 по умолчанию) и спецификой работы 1С:Предприятия 8.3 в веб-окружении. Если вы планируете развернуть систему для внешнего доступа, учтите: Windows Server 2008 R2 больше не получает обновлений безопасности от Microsoft, что требует дополнительных мер защиты.

Прежде чем приступить к настройке, убедитесь, что ваша инфраструктура соответствует минимальным требованиям:

📊 Какую версию 1С вы публикуете на IIS 2008?
8.3.20 и выше
8.2
8.1
Не знаю версию

1. Подготовка сервера: требования и предварительные настройки

Перед установкой компонентов необходимо подготовить серверную ОС. Windows Server 2008 R2 требует обязательной установки последних обновлений (хотя бы Service Pack 1), так как без них могут возникнуть проблемы с совместимостью .NET Framework и IIS.

Основные шаги подготовки:

  • 🔹 Установите роли сервера через Server Manager: Web Server (IIS) с компонентами ASP.NET, Windows Authentication, Static Content.
  • 🔹 Активируйте .NET Framework 3.5 и 4.8 (последний — через автономный установщик, так как в стандартных репозиториях он отсутствует).
  • 🔹 Настройте брандмауэр для разрешения входящих подключений на порты 80 (HTTP) и 443 (HTTPS).
  • 🔹 Создайте отдельного пользователя с правами IIS_IUSRS для пула приложений 1С (рекомендуется не использовать встроенную учётную запись Network Service).

Важно: если сервер используется в домене, проверьте политики безопасности, которые могут блокировать установку компонентов. Например, Group Policy может запрещать запуск MSI-пакетов или изменение реестра.

💡

Перед установкой .NET Framework 4.8 отключите антивирусное ПО — оно может блокировать изменение системных файлов, что приведёт к сбою установки.

2. Установка компонентов 1С для веб-публикации

Для публикации 1С:Предприятия на IIS 2008 потребуется установить два ключевых компонента:

  1. Платформа 1С:Предприятие 8.3 (версия не ниже 8.3.6, так как более ранние не поддерживают веб-клиент).
  2. Веб-сервер 1С:Предприятия (входит в дистрибутив платформы или устанавливается отдельно).

Процесс установки:

  1. Запустите установщик платформы 1С и выберите компонент 1С:Предприятие (веб-сервер).
  2. Укажите путь установки (по умолчанию — C:\Program Files (x86)\1cv8\8.3.x.x\bin\).
  3. После установки проверьте наличие файлов webinst.exe и wscmplgs.dll в директории bin.

Для корректной работы веб-клиента также потребуется:

  • 📌 Установить Microsoft Visual C++ Redistributable (версии 2010–2019).
  • 📌 Добавить в PATH путь к каталогу с webinst.exe.
  • 📌 Настроить права доступа для учётной записи пула приложений на папку с базой 1С.
Что делать, если установщик 1С не видит IIS?

Если при установке компонента "1С:Предприятие (веб-сервер)" программа установки сообщает об отсутствии IIS, проверьте:

1. Установлена ли роль Web Server (IIS) через Server Manager.

2. Включён ли компонент ASP.NET в настройках IIS (через Turn Windows features on or off).

3. Запущен ли сервис World Wide Web Publishing Service (проверьте в services.msc).

Если проблема сохраняется, перезагрузите сервер и повторите установку.

3. Настройка IIS для публикации 1С

После установки компонентов необходимо создать сайт в IIS Manager и настроить его для работы с 1С. Основные шаги:

1. Создание пула приложений:

  • 🔧 Откройте IIS ManagerApplication PoolsAdd Application Pool.
  • 🔧 Укажите имя (например, 1CAppPool) и выберите версию .NET CLRv4.0.
  • 🔧 Задайте режим Integrated (не Classic!) и учётную запись пользователя, созданного ранее.

2. Настройка сайта:

  • 🌐 В IIS Manager выберите SitesAdd Website.
  • 🌐 Укажите имя сайта (например, 1CWebClient), путь к папке с публикацией (например, C:\inetpub\wwwroot\1c).
  • 🌐 Привяжите сайт к порту 80 (или другому свободному порту) и укажите Host name (если требуется).
  • 🌐 В настройках сайта выберите созданный пул приложений (1CAppPool).

3. Настройка аутентификации:

  • 🔐 Откройте Authentication в настройках сайта.
  • 🔐 Отключите Anonymous Authentication.
  • 🔐 Включите Windows Authentication (если используется доменная аутентификация) или Basic Authentication (для простых сценариев).

☑️ Проверка настроек IIS перед публикацией 1С

Выполнено: 0 / 5

4. Публикация базы 1С на веб-сервере

Для публикации базы используйте утилиту webinst.exe, которая находится в каталоге установки 1С. Команды для публикации:

Базовая публикация (тонкий клиент):

webinst.exe -publish -apppath "C:\inetpub\wwwroot\1c" -confpath "C:\1C_Bases\MainBase" -connstr "Srvr=localhost;Ref=MainBase;"

Параметры команды:

  • 📁 -apppath — путь к виртуальной директории на сервере.
  • 🗃️ -confpath — путь к каталогу информационной базы.
  • 🔗 -connstr — строка подключения к базе (формат зависит от типа СУБД).
  • 🔒 -secure — включение HTTPS (требует предварительной настройки сертификата).

После выполнения команды в указанной папке (C:\inetpub\wwwroot\1c) появятся файлы:

  • 📄 default.vrd — конфигурационный файл публикации.
  • 📄 web.config — настройки IIS для работы с 1С.
  • 📁 Папка bin — вспомогательные библиотеки.

Для проверки публикации откройте в браузере адрес:

http://localhost/1c

1. Запущен ли пул приложений в IIS.

2. Корректны ли права доступа на папку с базой 1С.

3. Установлен ли компонент "1С:Предприятие (веб-сервер)" в той же разрядности, что и IIS (x86 или x64).-->

5. Настройка безопасности и HTTPS

По умолчанию публикация 1С на IIS 2008 работает по протоколу HTTP, что небезопасно для внешнего доступа. Для включения HTTPS выполните следующие шаги:

1. Установка сертификата:

  • 🔐 Запросите сертификат в доверенном центре (например, Let’s Encrypt или коммерческом УЦ).
  • 🔐 Импортируйте сертификат в Local Computer → Personal через certmgr.msc.
  • 🔐 Привяжите сертификат к сайту в IIS Manager (раздел Bindings).

2. Принудительное перенаправление на HTTPS:

Добавьте в файл web.config следующий код:

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="HTTP to HTTPS" stopProcessing="true">

<match url="(.*)" />

<conditions>

<add input="{HTTPS}" pattern="^OFF$" />

</conditions>

<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

3. Настройка протоколов TLS:

По умолчанию IIS 7.5 поддерживает устаревшие протоколы SSL 3.0 и TLS 1.0. Для повышения безопасности:

  • 🔒 Отключите SSL 3.0 и TLS 1.0 в реестре (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols).
  • 🔒 Включите TLS 1.1 и TLS 1.2 (требует обновления реестра и перезагрузки).
💡

Для проверки поддерживаемых протоколов используйте утилиту Nartac IIS Crypto — она позволяет в один клик отключить устаревшие шифры и включить современные.

6. Оптимизация производительности и устранение ошибок

Работа 1С через IIS 2008 может тормозить из-за неоптимальных настроек пула приложений или ограничений ОС. Основные рекомендации:

1. Настройка пула приложений:

  • ⚡ Установите Idle Time-out (minutes) в значение 0 (отключение тайм-аута бездействия).
  • ⚡ Увеличьте Maximum Worker Processes до 2–4 (для многопоточной обработки запросов).
  • ⚡ Включите 32-bit Applications, если используется x86-версия 1С.

2. Оптимизация памяти:

В файле web.config добавьте параметры для ограничения использования памяти:

<configuration>

<system.web>

<processModel autoConfig="false" maxWorkerThreads="100" maxIoThreads="100" />

</system.web>

</configuration>

3. Типичные ошибки и их решения:

Ошибка Причина Решение
500.19 Internal Server Error Некорректный web.config или отсутствие прав Проверьте синтаксис web.config и права на папку
403 Forbidden Отсутствуют права на доступ к ресурсу Настройте NTFS permissions для пользователя пула
503 Service Unavailable Пул приложений остановлен или перегружен Перезапустите пул, проверьте логи событий
404 Not Found Некорректный путь к виртуальной директории Проверьте привязку сайта в IIS и физический путь
💡

Если после публикации 1С открывается, но не загружаются формы или отчёты, проверьте настройки Internet Explorer (даже если используете другой браузер!). В зоне "Локальная интрасеть" должны быть включены параметры "Включить защищённый режим" и "Автоматическая настройка для интрасети".

7. Тестирование и мониторинг работы

После публикации необходимо проверить работоспособность системы:

1. Проверка доступности:

  • 🌍 Откройте в браузере адрес http://[server_ip]/1c (или https://, если настроен SSL).
  • 🌍 Убедитесь, что отображается форма авторизации 1С.
  • 🌍 Попробуйте войти под тестовым пользователем.

2. Мониторинг производительности:

  • 📊 Используйте Performance Monitor (perfmon.msc) для отслеживания нагрузки на CPU и память.
  • 📊 Включите логирование в IIS (раздел Logging в настройках сайта).
  • 📊 Проверяйте события Windows в Event Viewer (раздел Windows Logs → Application).

3. Стресс-тестирование:

Для имитации нагрузки используйте утилиты вроде JMeter или LoadRunner. Тестируйте сценарии:

  • 🔄 Одновременный вход 10–20 пользователей.
  • 🔄 Открытие тяжёлых отчётов (например, оборотно-сальдовой ведомости за год).
  • 🔄 Печать документов в PDF.
💡

Если при тестировании обнаруживаются "подвисания" интерфейса, увеличьте лимит памяти для пула приложений в настройках IIS (параметр Private Memory Limit).

8. Альтернативные способы публикации 1С на устаревших серверах

Если IIS 2008 не подходит для ваших задач (например, из-за ограничений безопасности), рассмотрите альтернативные варианты:

1. Использование Apache с модулем mod_1c:

  • 🐧 Подходит для Linux-серверов или Windows с установленным Apache HTTP Server.
  • 🐧 Требует ручной компиляции модуля mod_1c.so.

2. Публикация через nginx как обратный прокси:

  • 🔗 Nginx может перенаправлять запросы на IIS, добавляя слой кэширования.
  • 🔗 Конфигурация примера:
server {

listen 443 ssl;

server_name 1c.example.com;

ssl_certificate /path/to/cert.pem;

ssl_certificate_key /path/to/key.pem;

location / {

proxy_pass http://localhost:8080;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

}

}

3. Обновление сервера до Windows Server 2016/2019:

  • 🔄 Новые версии Windows поддерживают IIS 10 и HTTP/2, что ускоряет работу 1С.
  • 🔄 Встроенная поддержка TLS 1.3 и современных шифров.
Можно ли опубликовать 1С 8.3.22 на IIS 2008?

Технически да, но с оговорками:

1. Требуется ручная правка web.config для совместимости с новыми версиями платформы.

2. Некоторые функции (например, WebSocket для онлайн-чатов) работать не будут.

3. Рекомендуется тестировать на тестовом стенде перед развёртыванием в продакшн.

⚠️ Внимание: Windows Server 2008 R2 не получает обновлений безопасности с января 2020 года. Если сервер подключён к интернету, обязательно изолируйте его в отдельной подсети и настройте дополнительные средства защиты (например, WAF или IPS).

FAQ: Частые вопросы по публикации 1С на IIS 2008

Можно ли опубликовать 1С 8.2 на IIS 2008?

Да, но с ограничениями. Версия 8.2 поддерживает веб-клиент, однако:

  • Требуется .NET Framework 2.0/3.5 (4.x не совместим).
  • Некоторые функции тонкого клиента (например, печать в PDF) могут не работать.
  • Рекомендуется использовать 8.3.6+ для полной совместимости.
Почему после публикации 1С открывается пустая страница?

Причины могут быть следующими:

  • Не установлен компонент 1С:Предприятие (веб-сервер).
  • В браузере отключён JavaScript или блокируются активные элементы.
  • Некорректные настройки web.config (проверьте синтаксис).
  • Отсутствуют права на папку с базой у пользователя пула приложений.

Решение: проверьте логи IIS (%SystemDrive%\inetpub\logs\LogFiles) и события Windows.

Как опубликовать несколько баз 1С на одном сервере?

Для публикации нескольких баз:

  1. Создайте отдельные виртуальные директории в IIS (например, /1c/base1, /1c/base2).
  2. Запустите webinst.exe для каждой базы с указанием уникального -apppath:
webinst.exe -publish -apppath "C:\inetpub\wwwroot\1c\base1" -confpath "C:\Bases\Base1" -connstr "Srvr=localhost;Ref=Base1;"

webinst.exe -publish -apppath "C:\inetpub\wwwroot\1c\base2" -confpath "C:\Bases\Base2" -connstr "Srvr=localhost;Ref=Base2;"

Убедитесь, что строки подключения (-connstr) уникальны для каждой базы.

Какие порты нужно открыть в брандмауэре для работы 1С через интернет?

Минимальный набор портов:

  • 80 (HTTP) — для тестирования.
  • 443 (HTTPS) — для защищённого соединения.
  • 1540–1541 — для кластера серверов 1С (если используется).
  • 1560–1591 — для работы распределённых информационных баз.

Для доменных контроллеров также может потребоваться 389 (LDAP).

Как перенести публикацию 1С с одного сервера на другой?

Алгоритм переноса:

  1. Скопируйте папку с публикацией (например, C:\inetpub\wwwroot\1c) на новый сервер.
  2. Экспортируйте сертификат SSL (если используется) через certmgr.msc.
  3. На новом сервере импортируйте сертификат и настройте привязку в IIS.
  4. Проверьте пути в default.vrd и web.config (при необходимости исправьте).
  5. Обновите DNS-записи или хост-файлы на клиентских машинах.

Если используете кластер 1С, не забудьте перенести и его настройки (ras-кластер).