Тонкости настройки 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 не будет опубликован. Обязательные поля помечены *