Как перезапустить веб сервер 1с iis

Обновлено: 06.07.2024

Настройка веб-сервера IIS

Большинство пользователей при работе в тонком или веб-клиенте используют в основном публикацию информационных баз на основании протокола HTTP. С одной стороны — это простой и быстрый способ дать доступ к информационной базе пользователю, у которого нет дистрибутива тонкого клиента, и он может работать только в веб-клиенте или у пользователя нет прямого доступа к серверу "1С:Предприятие". С другой стороны – информационные базы, опубликованным таким образом, категорически не рекомендуются публиковать в глобальной сети Интернет, так как в таком случае используется незащищенный канал, данные по которому могут быть перехвачены злоумышленниками. Например, распространенные виды атак это:

Внимание! В статье не рассматривается выпуск и получение сертификата проверенных поставщиков. Этот пункт должен быть выполнен самостоятельно на основании предпочтений выбора провайдера услуг. В статье предполагается что, пропуская шаг выпуска самоподписанных сертификатов, у пользователя или администратора он имеется в наличие и будет подставлен в настроечные файлы, вместо указанных в статье самоподписанных сертификатов.

План работ:

Включение компонент веб-сервера.

Windows Server 2012 R2, 2016 и 2019.

Выпуск самоподписанного сертификата (Необязательно).

1. Включение компонент веб-сервера

По умолчанию в операционной среде Windows компоненты веб-сервера не установлены. В зависимости от версии установка может несущественно различаться. Мы будем рассматривать два варианта – это распространенный дистрибутив Windows 10, если планируются использовать для пробного включения шифрования протокола и Windows Server 2016/2018, если уже планируется непосредственное разворачивание публикации в продуктивной зоне.

1.1. Windows 10

Включение компонентов веб-сервера IIS в операционной системе Windows 10 выполняется достаточно просто. Для начала нужно открыть раздел "Программы и компоненты" ("Programs and Features") в панели управления (Control panel). Сделать можно это несколькими способами:

Нажать сочетание клавиш Win + R и в открывшемся окне ввести "appwiz.cpl" и нажать ОК.

Открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features).

В окне "Программы и компоненты" ("Programs and Features") нажмите на кнопку "Включение и отключение компонентов Windows" ("Turn Windows features on or off").


Когда откроется окно "Компоненты Windows" ("Windows features") в нем необходимо будет проставить флажки для следующих элементов:

Компоненты разработки приложений

Средства управления веб-сайтом

Консоль управления IIS


После этого нажимайте на кнопку "OK" и дождитесь завершения выполнения операции. После того как включение компонент будет выполнено, можно переходить к пункту "2. Публикация информационной базы".

1.2 Windows Server 2012 R2, 2016 и 2019

Настройка компонент для Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019 одинаковая и все настройки производятся в диспетчере серверов (Server Manager).

Откройте диспетчер серверов (Server Manager) и нажмите Управление – Добавить роли и компоненты (Manage – Add Roles and Features).


В ответ на нажатие откроется окно мастера добавления ролей и компонентов (Add Roles and Features).


В этом окне нажмите два раза "Далее" ("Next") пока мастер не переключится на страницу ролей сервера (Server Roles).


Во вкладке роли сервера (Server Roles) установите флажок "Web Server IIS". Так как эта роль зависит от другой роли ([Tools] IIS Management Console), то будет предложено установить ее дополнительно. Это можно сделать с помощью нажатия кнопки "Добавить компоненты" (Add Features) в открывшемся окне. После чего нажимаем кнопку "Далее" ("Next") пока мастер не дойдет до вкладки "Роль веб-сервера IIS" ("Web Server Role IIS"). На этой вкладке нажимайте кнопку "Далее" ("Next") и попадете на вкладку "Службу ролей" ("Role Services"). Во вкладке нужно найти пункт "Application Development" и выбрать в нем с помощью флажков пункты "ISAPI Extensions" и "ISAPI Filters". Как только закончите с установкой флажков нажимайте "Далее" ("Next") и "Установить" ("Install").

На этом установка веб-сервера завершена. Можно переходить к настройкам сертификатов.

2. Выпуск самоподписанного сертификата

Выпуск самоподписанного сертификата для веб-сервера IIS максимально простой.

Для реальных систем не рекомендуем использовать самоподписанный сертификат.

Для начала процедуры выпуска откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections) . После этого нажмите на ссылку "Сертификаты сервера" ("Server Certificates") .


Откроется окно доступных сертификатов сервера (Server Certificates) в котором нужно нажать "Создать самозаверенный сертификат…" ("Create Self-Signed Certificate…").


В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы лучше явно указывать в качестве значения "Полное имя сертификата" ("Specify a friendly name for the certificate") адрес сервера, на котором расположен сервер IIS. Как только имя сертификата будет задано нажимайте на кнопку OK и переходите к пункту привязки сертификата.


3. Привязка сертификата

Предполагается, что сертификат получен и добавлен в список сертификатов сервера. Если сертификат получен с помощью распространенного сертифицирующего центра, то его нужно предварительно импортировать в окне "Сертификаты сервера" ("Server Certificates").



Как только сертификат появится в списке, переходим непосредственно к его привязки к публикации сайта. Для этого выделяем "Default Web Site" и в окне "Действия" ("Actions") нажимаем на пункт "Привязки…" ("Binding…").


В этом окне можно увидеть, что публикация работает только на порту 80, который относится к незащищенному протоколу HTTP. Чтобы его расширить, нажмите кнопку Добавить… (Add…) слева от списка привязок сайта и в открывшемся окне выберите Тип (Type) в качестве значения "https". Завершением настройки будет выбор ранее импортированного сертификата в списке "SSL-сертификат" ("SSL certificate"). Нажимаем кнопку OK и закрываем мастер привязок сайта.

Можно переходить к публикации информационной и проверки его работоспособности.


4. Проверка публикации

Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню "Администрирование". После этого выбрать "Публикация информационной базы".

В окне публикации указать имя публикации и по желанию определить каталог, где будут находиться настройки публикации. Его также можно оставить по умолчанию.

После этого требуется нажать кнопку "Опубликовать" и дождаться окончания операции.


Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:

Для управления web сервером IIS существует специальная утилита iisreset.exe.

Если имя компьютера не указано, то команда выполняется для текущего web-сервера. Если у вас несколько серверов, то удобно управлять ими с одной машины. Дальше будут примеры для управления IIS на текущем web сервере без указания его имени.

Остановка всех служб IIS, затем запуск всех служб IIS.

Отображает состояние служб IIS:

  • IIS Admin Service (IISADMIN)
  • Windows Process Activation Services (WAS)
  • World Wide Web Publishing Service (W3SVC)

Остановка всех служб IIS.

Запуск всех служб IIS.

iisreset /restart /rebootonerror
iisreset /stop /rebootonerror
iisreset /start /rebootonerror

Параметр rebootonerror применяется при остановке, запуске или перезапуске служб IIS. В случае ошибки перезагружает компьютер. В случае таймаута тоже перезагружает компьютер. Таймаут по умолчанию на остановку служб IIS — 60 с. Таймаут по умолчанию на запуск служб IIS — 20 с.

iisreset /restart /rebootonerror /timeout:30
iisreset /stop /rebootonerror /timeout:30

Параметр timeout применяется при остановке или перезапуске служб IIS, имеет смысл только совместно с использованием rebootonerror . Задаёт произвольный timeout в секундах для остановки служб IIS.

Параметр noforce применяется при остановке или перезапуске служб IIS. Не завершает службы IIS принудительно. При этом в случае проблем могут возникать ошибки вида:

There was an error while performing this operation.
The service cannot accept control messages at this time. (2147943461, 80070425)Restart attempt failed.
The service cannot accept control messages at this time. (2147943461, 80070425)

Microsoft при этом почему-то даёт странную рекомендацию, вместо того, чтобы не использовать noforce, они рекомендуют останавливать службы через net stop/start:

Перезапуск или останов служб IIS, равно как и перезагрузку веб-сервера, следует рассматривать как крайнюю меру. При перезапуске служб Интернета прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока службы Интернета не будут запущены вновь. В связи с этим следует по мере возможности избегать перезапуска, остановки и перезагрузки сервера. В состав IIS 6.0 включено средство повторного запуска пулов приложений и ряд других средств, рекомендуемых в качестве альтернативы перезапуску IIS. Список возможностей, помогающих повысить надежность IIS и устранить необходимость перезапуска, см. в разделе «Перезапуск IIS» в справке IIS.

К службам Интернета относится веб-служба, а также службы FTP, протоколы SMTP и NNTP и службы администрирования IIS.

Какая операция должна быть выполнена в IIS?

Список вариантов перезапуска IIS, с описанием сути и последствий каждого варианта.

Запуск служб Интернета

Запуск всех служб Интернета. Для изменения списка служб, которые запускаются автоматически, можно воспользоваться узлом Службы в оснастке «Управление компьютером». Если службы Интернета не отвечают после выдачи этой команды, перезагрузите компьютер.

Остановка служб Интернета

Остановка всех служб Интернета. Прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока службы Интернета не будут запущены вновь. При внесении определенных изменений в IIS возникает необходимость остановить службы Интернета, чтобы зарегистрировать эти изменения; например, это требуется при установке нового компонента COM или фильтра ISAPI.

Перезапуск<локальной машины>

Перезагрузка сервера. Перезагрузку сервера следует рассматривать как крайнюю меру. Прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока сервер и службы Интернета не будут запущены вновь.

Перезапуск служб Интернета

Остановка и последующий перезапуск всех служб Интернета. Прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока службы Интернета не будут запущены вновь.


После чего жмем ОК и ждем, пока все скачается и установится. По данному пункту хотел еще пояснить, что проставлены необходимые для работы 1С компоненты, ничего кроме этого мне не понадобилось пока. Данный набор ставил и на WIN 7 и на WIN10

2. Первоначальная настройка IIS.

2.1. Дать доступ службе IIS к:

- Платформа1С (C:\Program Files (x86)\1cv8),

- База1С тут точного пути, нет у каждого он свой.

Для этого на каждой из папок клацаем правой кнопкой мыши Свойство-Безопасность - Изменить - Добавить -IIS_IUSRS; IUSR и проставить галочки полного доступа. После нажатия на ОК могут появиться ошибки "Отказ в доступе" нажимайте "Продолжить" и все.

2.2. Разрешить IIS работать с 32 битными приложениями.(Этот пункт нужен если у вас WIN 64-битная а 1C 32-битная, поэтому почти всем) Заходим Панель управления - Администрирование -Диспетчер служб IIS,



3. Публикация базы данных

3.1. Установка платформы обязательно с установленной галочкой "Модуль расширения веб-сервера"

3.2. Запускаем 1С под правами администратора в режиме Конфигуратор - Администрирование - Публикация на веб-сервере.


И все, больше ничего не нужно.

Есть один совет: Если база будет доступна через 1С, нелишнее для обеспечения дополнительной безопасности опубликовывать её с именем, которое будет ничего не значить. Лучше вообще случайным набором букв и цифр (qAdsfslj- например), пользователи, даже если работают через браузер, заходят по ссылке, а вам дополнительное спокойствие, но при таком подходе есть минус, если снял базу с публикации, например, для обновления, то имя будет меняться на наименование папки базы данных, и если не сохранил где-то это имя, то начинаешь искать эту ссылку, и ладно, если баз одна -две, а если их несколько десятков, то можно и перепутать. Попав пару раз, сделал следующим образом "D:\Bases1C\Buh\qAdsfslj" - где "Buh"-название понятное для меня а вот "qAdsfslj"- имя базы при публикации.

Если после установки и настройки IIS + 1C 8.3 (на АПАЧе все работало) внутри локальной сети все хорошо, а при входе через интернет вроде все хорошо, но при формировании табличного документа происходят странные вещи, вместо значков группировок отчета выходит "разорванный листочек", и выделить ячейку в отчете не получается (хотя при двойном нажатии расшифровки работают), а еще на экране нет картинок и штрихкодов в табличном документе (отчете) но если этот же отчет сохранить в эксель или распечатать, все выходит как надо. Значит, вы "попали" так же как и я (искал решение очень долго, почему и пишу данную статью).


Перепробовал все предложенные варианты настроек в интернете, не помогло, сменил Windows (7,10, 2008), компьютер, версии 1C и IIS (7.0, 7.5, 10) не помогает. При этом нужно учесть еще и такой момент что в этой же сети уже работает один сервер IIS+1С и там все работает как надо.

А дело было в том, что после того, как я запускал сервер, я тут же делал проброс порта через роутер наружу и поскольку уже имелся сервер работающий по 80 порту, пробрасывал на альтернативный (444, 98, 90, и тд. переустановок было много). и получал печальный результат. А нужно было сначала сделать прямой проброс 80-80 зайти в 1С через Интернет. а после можно менять порт на любой. Вариант был проверен неоднократно.

Буду рад, если кому-то поможет, и не позволит потерять очень много времени и нервов.

Читайте также: