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

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Часто возникает ситуация, когда база 1С успешно опубликована на веб-сервере IIS (поможет автоматизированный публикатор баз 1С на веб-сервере) и отлично открывается внутри локальной сети, однако при попытке зайти в неё из интернета по внешнему IP-адресу пользователь видит ошибку. Разберем пошагово, как диагностировать эту проблему, настроить сетевой экран и обеспечить стабильную работу системы.

Шаг 1. Первичная диагностика доступности

Прежде чем приступать к глубоким настройкам, нам необходимо убедиться, что внешний IP-адрес является статическим и доступен извне — для контроля пригодится сервис мониторинга доступности 1С через интернет. Для этого выполним следующие действия:

  1. Выясним наш текущий внешний IP-адрес. Проанализируем данные на специализированных ресурсах, например, на сайте 2ip.ru.
  2. Сравним полученный адрес с тем, который указан в настройках вашего маршрутизатора (роутера) в разделе WAN. Если адреса совпадают, значит, у нас действительно «белый» IP.
  3. Проверим, открывается ли стандартная страница приветствия IIS. Для этого введем в браузере (на устройстве вне локальной сети, например, через мобильный интернет) наш http://[Ваш_внешний_IP]. Если страница не загружается, проблема кроется в сетевых преградах.

Шаг 2. Проброс портов на роутере (Port Forwarding)

Рассмотрим ситуацию: запрос из интернета приходит на ваш роутер по порту 80 (стандартный HTTP). Роутер должен знать, на какой внутренний сервер (локальный IP-адрес машины с IIS) этот запрос перенаправить. Проверим настройки проброса портов (NAT/Virtual Server):

Внешний порт: 80 (или другой, если вы решили его сменить в целях безопасности).

Внутренний порт: 80.

Внутренний IP: адрес сервера, где установлена 1С и IIS.

Шаг 3. Настройка Брандмауэра Windows

Как показывает практика, даже при правильно настроенном роутере, встроенный защитник Windows может блокировать входящие подключения. Выясним, как правильно разрешить трафик для IIS. Вместо полного отключения брандмауэра, что крайне небезопасно, выполним точечную настройку:

  1. Откроем «Панель управления» — «Система и безопасность» — «Брандмауэр защитника Windows».
  2. Перейдем в раздел «Разрешение взаимодействия с приложением или компонентом».
  3. Найдем в списке пункт «Службы интернета» (World Wide Web Services — HTTP) и установим галочки для профилей «Частная» и «Публичная».
  4. Если вы используете нестандартный порт, необходимо создать «Правило для входящих подключений», указав конкретный номер порта 80 (или другой используемый).

Шаг 4. Настройка пула приложений IIS под требования 1С

Для стабильной работы публикации 1С крайне важно, чтобы параметры пула приложений в IIS Manager соответствовали разрядности установленной платформы 1С. Проанализируем настройки (поможет инструмент централизованного администрирования кластеров 1С):

  1. Откроем диспетчер служб IIS.
  2. Перейдем в раздел «Пулы приложений» (Application Pools).
  3. Выберем пул, на котором опубликована база (обычно это DefaultAppPool или имя, созданное при публикации).
  4. Нажмем «Дополнительные параметры». Если у вас установлена 64-битная версия 1С, параметр «Разрешены 32-разрядные приложения» должен быть установлен в False.
  5. Убедимся, что в поле «Версия среды .NET» выбрано значение «Без управляемого кода» (No Managed Code), так как 1С взаимодействует с IIS через расширение ISAPI или модуль HTTP, не используя среду .NET напрямую.

Шаг 5. Работа с файлом публикации default.vrd

Все настройки публикации хранятся в специальном файле default.vrd, который находится в каталоге публикации (например, C:\inetpub\wwwroot\MyBase). Посмотрим на пример структуры этого файла, которая обеспечивает корректную работу расширений:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		base="/MyBase"
		ib="Srvr=&quot;ServerName&quot;;Ref=&quot;BaseName&quot;;">
	<standardOdata enable="false"
			publishExtensionsByDefault="true"/>
	<analytics enable="false"/>
</point>

Обратите внимание на параметр publishExtensionsByDefault="true". Если вы используете расширения конфигурации и они не работают в веб-клиенте, проверьте этот атрибут в вашем файле default.vrd.

Шаг 6. Обеспечение безопасности (SSL/HTTPS)

Работа через 80 порт означает, что ваши логины и пароли передаются в открытом виде. Рассмотрим, как защитить данные. Мы настоятельно рекомендуем настроить работу через порт 443 (HTTPS).

Шаг 7. Проблема NAT Loopback (Hairpin NAT)

Разберем ситуацию, когда внешние пользователи заходят в базу без проблем, а сотрудники внутри офиса не могут открыть базу по тому же внешнему адресу. Это происходит из-за отсутствия поддержки NAT Loopback на роутере. Выясним пути решения:

  1. Настройка локального DNS-сервера, который будет сопоставлять внешнее доменное имя с внутренним IP-адресом сервера.
  2. Редактирование файла hosts на локальных машинах (путь: C:\Windows\System32\drivers\etc\hosts), добавив строку вида: 192.168.1.10 web.mydomain.ru.
  3. Использование разных ссылок для работы «в офисе» и «дома», что не всегда удобно для пользователей.

Шаг 8. Права доступа и MIME-типы

Иногда после настройки сетевого доступа возникают ошибки 404 или 500 — диагностировать их поможет анализатор HTTP-запросов и ответов для поиска ошибок. Проверим права доступа. Пользователь, от имени которого работает пул приложений (например, IIS AppPool\DefaultAppPool), должен иметь права на чтение и выполнение в каталоге bin установленной платформы 1С. Без этого модуль расширения веб-сервера wsapimod.dll не сможет запуститься.

Также проанализируем настройки MIME-типов в IIS. Для корректной передачи специфических файлов 1С должны быть зарегистрированы расширения .1clist, .1cws. Обычно публикатор 1С делает это автоматически, но при ручной переустановке IIS эти настройки могут быть утеряны.

Шаг 9. Лимиты и тайм-ауты

При работе через интернет соединение может быть нестабильным или медленным. Чтобы сессия пользователя не прерывалась во время формирования тяжелого отчета (поможет обработка поиска причин замедлений сервера и СУБД), увеличим тайм-ауты в IIS:

Соблюдение этих инструкций позволит вам не только «пробросить» базу в интернет, но и создать надежную, защищенную среду для удаленной работы сотрудников в 1С.

← На главную