Тонкости настройки IIS






Тонкости и возможные проблемы при настройке IIS для работы с 1C. С учетом обновления платформ большинство инструкций стало неактуально и отнимает лишние время, заставляя выполнять ненужные пункты.

Чтобы все заработало, нужно сделать следующее:

1. Установить модуль IIS.  

    1.1. Панель управления — Программы и компоненты — Включение или отключения компонентов Windows 

    1.2. Проставляем галочки:

           — "Внедряемое веб-ядро службы IIS",

           — В разделе "Службы IIS" — "Компоненты разработки приложений" ставим галки "Расширение ISAPI"  и "Фильтры ISAPI" 

          — В разделе "Службы IIS" -"Средства управления веб-сайтом" ставим галку "Консоль управления IIS"

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

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

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

         —  Каталог сайтов(C:inetpub),

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

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

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

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

в открывшемся окне открываем раздел "Пулы приложений"  в правом окне находим пул "DefaultAppPool", правой кнопкой мыши — Дополнительные параметры, ну и в открывшемся окне меняем "Разрешены 32-разрядные приложения" в значение "True" а так же проверьте "Версия среды .NET Framework" чтобы стояла либо "v2.0" либо "Без управляемого кода" (разнице не видел а вот v4.0 — не стоит так как будет проблема в формировании отчетов) 

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

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

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

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

Есть один совет: Если база будет доступна через 1С, нелишнее для  обеспечения дополнительной безопасности опубликовывать её с именем, которое будет ничего не значить. Лучше вообще случайным набором букв и цифр (qAdsfslj- например), пользователи, даже если работают через браузер, заходят по ссылке, а вам дополнительное спокойствие, но при таком подходе есть минус, если снял базу с публикации, например, для обновления, то имя будет меняться на наименование папки базы данных, и если не сохранил где-то это имя, то начинаешь искать эту ссылку, и ладно, если баз одна -две, а если их несколько десятков, то можно и перепутать. Попав пару раз, сделал следующим образом "D:Bases1CBuhqAdsfslj" — где "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С через Интернет. а после можно менять порт на любой. Вариант был проверен неоднократно.  

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

22 Comments

  1. MarchTomCat

    Из всего поста предпоследний абзац оказался полезным. Ни разу его не видел. 🙂

    Reply ↓
  2. h00k

    Печально, при заголовке «Тонкости настройки IIS» само содержание статьи из серии «100500-ая статья для новичков о том, как автор смог подружить 1С и IIS»…

    П.С.: Для разработчиков платформа х64 — обязательна. х32 используется только в тех случаях, когда необходимо протестировать корректность работы 32-разрядных приложений совместно с конфигурацией.

    П.П.С.: IIS — хорошо подходит для продуктовых серверов, а разработчикам лучше Apach — его «выпилить» с рабочей станции проще.

    Reply ↓
  3. Tavalik

    Название статьи совсем не соответствует содержанию, увы.

    Reply ↓
  4. Alien_job

    Вы пробовали публиковать сервисы расширений через IIS? Почему-то не взлетело

    Reply ↓
  5. yghmd

    (4) надо ставить галку сервисы по-умолчанию и в основном и в расширении. И по моему без публикации тонкого клиента не взлетело

    Reply ↓
  6. Йожкин Кот

    Тема ssl не раскрыта. А без ssl пускать базу наружу…

    Reply ↓
  7. ltfriend

    С последним абзацем столкнулся недавно. Подозрение сразу же пало на использование нестандартного порта. Логично же.

    Reply ↓
  8. 7OH

    (2) Почему x64 обязательна?

    Если публикуем серверную часть и на сервере используются 32 компоненты (что значительно чаще, нежели 64) — то тут каждый пусть решает сам — 32 или 64.

    Reply ↓
  9. h00k

    (8)

    Почему x64 обязательна?

    Попробуйте поработать с существенно изменённой 1С:ERP, или 1С:ERP-УСО, или 1С:ERP-PM и т.п.

    После двух-трёх вылетов платформы по причине нехватки памяти на реструктуризацию поймёте.

    Максимально зафиксированный объём занятой подобной операцией оперативки, на моём планшете, примерно 8Гб…

    Для продакшен, по карайней мере на виндовз серверах — IIS и там разрядность больше зависит от имеющихся лицензий на сервер.

    Reply ↓
  10. 7OH

    (9) Если я хочу дома поднять для разработки или тестов — зачем мне x64 обязательно ?

    Напишите проще:

    — если у Вас тяжелая конфигурация — x64

    — если на поиграться или с бухгалтериейут работать — хватит x32.

    Reply ↓
  11. h00k

    (6)

    Тема ssl не раскрыта

    С ssl то нет особых сложностей, плюс всегда можно веб-сервер держать только внутри корпоративной сети, а для доступа извне использовать подключение к корпоративной сети по vpn.

    А вот о настройках параллельного запуска процессов IIS-а под увеличением нагрузки, настройках балансировки нагрузки, настройках обработки ошибок, кросс-доменной аутентификации и т.п. нюансах, вообще ни кто не пишет… как будто этим ни кто не пользуется.

    Прям складывается ощущение, что достаточно тупо поднять на сервере IIS, опубликовать базу и всё, успех!

    Reply ↓
  12. h00k

    (10)

    если на поиграться

    Если «на поиграться», то зачем вообще 1С? Да ещё и с веб сервером. Лучше взять нёрф или шашки.

    А вот для разработки, х64 предпочтительней — конфигуратор х64, и работает немного быстрее, и, даже с УТ 11.4 не сильно переписанной, потребляет достаточно много памяти, настолько, что балансирует на грани вылета.

    По веб серверам я уже писал, что для дома, для тестов, лучше использовать Apache. Причём, лучше сразу в docker контейнере, но можно и так подцепить. Его «выпиливать» проще и на стабильность работы ОС он почти ни как не повлияет.

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

    Я эту проблему решаю вот так:

    1. Открываем IIS.

    2. Открываем наш «сайт»

    3. Идем в сопоставления обработчиков

    4. Ищем ISAPI-dll, выделяем строку.

    5. Справа нажимаем «Добавить сопоставление сценария»

    6. Путь запроса — «*», Исполняемый файл — «C:….wsisapi.dll».

    После этого перезапускаю IIS и проблема с картинками по веб-серверу больше не появляется. Пример у клиента, только что делал

    Reply ↓
  14. kas205

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

    (13)

    Эти пункты я выполнял и не раз но не устраняется таким образом эта ошибка. и еще на просторах интернета есть несколько вариантов но они тоже не срабатывали.

    Reply ↓
  15. nomadon

    Про порт ничего не понял, вы думаете есть ограничение платформы первым запуском через вэб только на 80 порт???

    Попробуйте это самостоятельно реализовать на c++ и убедитесь что это дичь, думаю это проблема конкретного экземпляра (админа, сети, настроек, темной силы)

    Reply ↓
  16. kas205

    (15) я понимаю насколько это не логично, но факт есть факт, проверил на разном железе и разных ОС (7-10), результат всегда 100%

    Reply ↓
  17. hasp_x

    apache почему то у меня не взлетел, а по вашей статье установил IIS

    Reply ↓
  18. 10baset

    Мужик , я те бутылку готов поставить. Искал решение этой проблемы недели две.

    Reply ↓
  19. Romario_

    Здравствуйте, все сделал как написано в статье, в Диспетчере IIS в сайте нажимаю обзор, выдает, что страница не найдена. Через localhost все работает нормально.

    Reply ↓
  20. kas205

    (19) Когда нажимаете обзор и выходит страница не найдена, в адресной строе что стоит

    Reply ↓
  21. Romario_

    (20) Попробовал опубликовать УНФ 1.6 Демо. выдает ошибку http 401.2

    Reply ↓
  22. Romario_

    (20)Разобрался, спасибо за помощь))

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *