Налаштування веб-сервера IIS

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

Вирішенням цих проблем є використання розширення протоколу HTTP і в цій статті розглянуто публікації інформаційних баз з використанням протоколу з шифруванням (HTTPS) для веб-сервера IIS.

Увага! У статті не розглядається випуск та отримання сертифіката перевірених постачальників. Цей пункт має бути виконаний самостійно на підставі переваг вибору провайдера послуг. У статті передбачається, що, пропускаючи крок випуску самопідписаних сертифікатів, у користувача або адміністратора він є в наявності і буде підставлений в настроювальні файли, замість зазначених у статті самопідписаних сертифікатів.

План робіт:

  1. Увімкнення компонентів веб-сервера.
    1. Windows 10
    2. 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
      • Служби Інтернету
        • Компоненти розробки додатків
          • Розширення ISAPI
          • Фільтри ISAPI
          • Консоль управління 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"). Application Development" і вибрати в ньому за допомогою прапорців пункти "ISAPI Extensions" та "ISAPI Filters". Як тільки закінчите з установкою прапорців натискайте "Далі" ("Next") та "Встановити" ("Install").

          На цьому налаштування веб-сервера завершено.

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

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

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

          Для початку процедури випуску відкрийте вікно Диспетчера служб IIS (Internet Information Services (IIS) Manager) і виділіть сервер у списку Підключень (Connections) .

          Відкриється вікно доступних сертифікатів сервера (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. Перевірка публікації

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

          У вікні публікації вказати ім'я публікації та за бажанням визначити каталог, де будуть знаходитись налаштування публікації. Його також можна залишити за замовчуванням.

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

          Для перевірки коректної роботи потрібно відкрити сторінку в браузері та перейти за посиланням, яке складається з двох частин:

          • Ім'я сервера (наприклад, server1)
          • Ім'я публікації бази (яке було зазначено у вікні налаштування публікації)

          Для таких параметрів посилання матиме вигляд:

          Якщо все гаразд, то відкриється сторінка з вашою інформаційною базою.

          Налаштування веб-сервера IIS - Mriya.v.ua

          Для доступу до функціоналу 1С та вашої робочої бази через звичайний веб-браузер або тонкий клієнт. При цьому жодних обмежень у вашій роботі не буде, це все-одно що 1С встановлений на вашому комп'ютері, тільки доступний через веб-браузер (навіть зі смартфона, правда, у випадку смартфона – не дуже зручно буде через відсутність масштабування).

          Що стосується HTTP-сервісу, то це специфічніший функціонал, хто розуміє, що таке HTTP REST API, то вже може уявити, що це таке. Якщо коротко, то HTTP-сервіси призначені для програмного обміну інформацією між інтернет-ресурсами, наприклад, у моїй статті про Скайп-боти в 1С HTTP-сервіс обов'язково потрібен – він виконує функції прийому та обробки повідомлень, які відправляються Боту в Скайпі від людини.

          Встановлюємо веб-сервер Microsoft IIS (Internet Information Services)

          Веб-сервер рекомендую встановлювати на серверній операційній системі, це був Microsoft Windows Server 2012 R2.

          Веб-сервер IIS можна встановлювати на робочому сервері навіть з активними RDP підключеннями інших користувачів, не бійтеся, їх не викине з сервера 🙂

          Якщо ви вирішили встановити IIS на Windows 10 (7, 8), то інсталяція IIS буде приблизно така ж, тільки там не буде оснащення «Диспетчер серверів», замість цього потрібно зайти в Панель управління – Видалення програм, далі зліва посилання – «Увімкнення та відключення компонентів Windows», ставимо прапор навпроти «Служби IIS», далі встановіть прапори як було описано вище.

          Перевіряємо коректність встановлення веб-сервера IIS, для цього запускаємо інтернет-браузер, наприклад Хром і в адресному рядку вказуємо локальну адресу поточного сервера: http://127.0.0.1, якщо все зроблено правильно, то відкриється головна сторінка веб-сервера IIS.

          Щоб відкрити панель керування веб-сервером IIS, перейдіть в Панель керування комп'ютером, далі кнопка Перегляд – Категорія – Дрібні значки, клацніть по "Адміністрування".

          Відкриваємо ярлик – "Диспетчер служб IIS".

          Зверніть увагу на розрядність встановленої платформи 1С – х64:

          Після того як ви зрозуміли яка розрядність у вашої платформи 1С (х32 або як на скріншоті вище – х64), у диспетчері служб IIS виберіть «Пули додатків», один раз клацніть лівою кнопкою миші по «DefaultAppPool» і праворуч натисніть посилання «Додаткові , далі у рядку «Дозволено 32-розрядні додатки» посада стояти False, і якщо платформа 1С ви б не х64, тобто. х32, то тут має бути встановлене значення True.

          Заздалегідь майте на увазі, якщо після публікації 1С на веб-сервері ви відкриєте 1С у веб-браузері, далі відкриєте список документів та отримаєте помилку «Виявлено потенційно небезпечне значення Request.Path, отримане від клієнта (:)», то в налаштуваннях «DefaultAppPool» поряд з «Дозволено 32-розрядні програми» є рядок "Режим керованого контейнера", він має бути "Classic".

          Публікуємо базу 1С на веб-сервері IIS

          Клацаємо по ярлику 1С правою кнопкою миші та вибираємо пункт – «Запуск від імені адміністратора».

          Запускаємо необхідну базу 1С як конфігуратора. Увага! Конфігурація 1С має бути на керованих формах, інакше публікація буде безглуздою, наприклад, Управління торгівлею редакції 11.х можна публікувати і мати до неї доступ через веб-браузер, а Управління торгівлею редакції 10.х не можна. Але це стосується HTTP-сервісів, якщо ви створите свій HTTP-сервіс в Управління торгівлею редакції 10.х, то він буде працювати.

          У конфігураторі натисніть кнопку Адміністрація – Публікація на веб-сервері. Далі кнопку "Опублікувати". Тільки запам'ятайте назву публікації, у моєму випадку (на скріні нижче) – "DemoTrd".

          Може з'явитися прохання перезапустити IIS-сервер, погоджуємося.

          Це може з'явитися попередження під час публікації на веб-сервері:

          Дайте повні права користувачеві IUSR на директорію в якій встановлена ​​база 1С (адреса директорії відображається у вікні з помилкою про права див. вище або у вікні «Про програму» також дивіться вище).

          Тепер можете перевірити роботу 1С в режимі веб-браузера, для цього відкриваєте веб-браузер на тому ж сервері, де тільки що налаштовували веб-сервер і вводите адресу: http://127.0.0.1/DemoTrd

          Якщо все зробили правильно, відкриється база 1С.

          Публікуємо HTTP-сервіс 1С на веб-сервері IIS

          Давайте швидко створимо свій HTTP-сервіс який буде просто повертати слова «Все добре!» при зверненні до нього через звичайний веб-браузер.

          У конфігураторі створюємо новий HTTP-сервіс, з шаблоном за замовчуванням та одним GET методом, у якого буде обробник такого виду:

          Оновимо нашу публікацію на веб-сервері, для цього знову натисніть у меню Адміністрація – Публікація на веб-сервері, переконайтеся, що на закладений HTTP-сервіси встановлено прапорець проти нашого HTTP-сервісу:

          Натискаємо «Опублікувати».

          Тепер можете перевірити роботу опублікованого HTTP-сервісу в режимі веб-браузера, для цього відкриваєте веб-браузер на тому ж сервері, де тільки що налаштовували веб-сервер і вводите адресу: http://127.0.0.1/DemoTrd/hs/test де « test» це кореневий URL HTTP-сервісу, в результаті, якщо все налаштовано правильно, отримаємо повідомлення «Все добре». Єдине, браузер може попросити вказати логін та пароль користувача з бази 1С.

          Доступ до вашої бази 1С з будь-якої точки землі та інтернету

          Якщо IP адреса вашого сервера зовнішня та статична (це можна дізнатися у вашого системного адміністратора та інтернет-провайдера), то відкривати вашу базу 1С та HTTP-сервіс через інтернет можна буде з будь-якого комп'ютера підключеного до інтернету, для цього в інтернет-браузері вводьте зовнішній статична IP-адреса сервера замість 127.0.0.1 в зазначених вище адресах.

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

          Налаштування веб-сервера IIS - Mriya.v.ua

          У статті розглянемо ключові кроки та рекомендації щодо налаштування веб-сервера для роботи з 1С.

          Ефективне керування бізнесом неможливе без інформаційних технологій. Один з невід'ємних інструментів обліку та аналізу — програмні продукти 1С.

          Встановлення інтернет-сервера IIS для 1С

          Щоб увімкнути IIS на комп'ютері під керуванням Windows 10 і більше, виконайте такі дії.

          1. Перейдіть до Панель управлінняПрограмиВстановлення програм.
          2. Виберіть Увімкнення та вимкнення компонентів Windows.
          3. Виберіть пункт Служби IIS та натисніть кнопку ОК.
          4. Після завершення інсталяції відкрийте браузер і перейдіть за адресою http://localhost/. Якщо відкрилася тестова сторінка IIS, то установка зроблена успішно.

          Щоб увімкнути IIS на комп'ютері під керуванням Windows Server, виконайте такі дії.

          1. Перейдіть до Панель управлінняДодати ролі та функції.
          2. Ознайомтеся з інформацією у розділі Перш ніж почати та натисніть Далі.
          3. Виберіть пункт Встановлення на основі ролей чи функцій та натисніть Далі.
          4. Виберіть сервер, на який хочете встановити служби, та натисніть Далі.
          5. Виберіть опцію Веб-сервер (IIS) на сторінці вибору ролей сервера. Після цього відкриється нове вікно. Натисніть Додати компонентиДалі.

          Інші пункти меню установки можна пропустити, на даний момент вони не потрібні. В останньому вікні натисніть кнопку Встановити, дочекайтеся закінчення установки та закрийте вікно. Після завершення відкрийте браузер та перейдіть за адресою http://localhost/. Якщо відкрилася тестова сторінка IIS, то установка зроблена успішно.

          Перевірка встановлених модулів розширення 1С:Підприємство

          Для коректної роботи бази 1С на веб-сервері IIS необхідно встановити додаткові компоненти.

          1. Перейдіть до Панель управлінняПрограми та компоненти.
          2. Виберіть Увімкнення та вимкнення компонентів Windows.
          3. Перейдіть до Служби IISСлужби ІнтернетуКомпоненти розробки додатків.
          4. Виберіть Розширення ISAPIФільтри ISAPI, натисніть Ок.
          5. Після завершення інсталяції перезавантажте комп'ютер.

          Оренда сервера 1С

          Візьміть в оренду сервер, а ми подбаємо про інфраструктуру та ліцензії 1С.

          Публікація бази 1С на сервері IIS

          Для опублікування інформаційної бази 1С відкрийте її Конфігуратор від імені адміністратора та перейдіть до пункту Адміністрація. Потім виберіть Публікація інформаційної бази.

          Вкажіть ім'я публікації та за бажанням визначте каталог, де будуть налаштування. Його також можна залишити за замовчуванням. Після цього натисніть кнопку Опублікувати та дочекайтеся закінчення операції.

          Для перевірки коректної роботи відкрийте сторінку в браузері та перейдіть за посиланням, яке складається з двох частин: імені вашого сервера та імені публікації бази, яке ви вказали у вікні налаштування публікації.

          Для параметрів, зазначених вище, посилання буде мати вигляд: https://ім'я_сервера/ім'я_публікації_бази.

          Якщо все правильно налаштовано, відкриється сторінка з вашою інформаційною базою.

          Публікація бази на сервері Apache

          Публікація бази на сервері Apache і двох етапів. Спочатку потрібно встановити сам сервер і потім опублікувати базу. Зараз розберемо все це докладніше.

          Встановлення сервера Apache

          1. Завантажте установник Apache з офіційного сайту.
          2. Запустіть його та пройдіть по всіх етапах меню установки, настроївши його відповідно до ваших вимог.
          3. Перевірте, чи запустився сервер. Для цього відкрийте браузер та вкажіть в адресному рядку http://localhost. Якщо все встановлено коректно, ви побачите сторінку з написом "It Works".

          Докладніші інструкції щодо встановлення та налаштування сервера Apache є в Академії Selectel.

          Публікація бази

          Процес публікації бази на сервері Apache є повністю ідентичним публікації на IIS.

          1. Відкрийте Конфігуратор від імені адміністратора.
          2. Перейдіть до пункту меню Адміністрація.
          3. Виберіть розділ Публікація інформаційної бази.
          4. Вкажіть ім'я публікації та визначте каталог, де будуть її налаштування (його можна залишити за замовчуванням).
          5. Натисніть кнопку Опублікувати та дочекайтеся закінчення операції.

          Для перевірки коректної роботи перейдіть за посиланням, яке складається з двох частин: імені вашого сервера та імені публікації бази (яке ви вказали у вікні налаштування публікації).

          Для параметрів, зазначених вище, посилання буде мати вигляд: https://ім'я_сервера/ім'я_публікації_бази.
          Якщо все правильно налаштовано, відкриється сторінка з вашою інформаційною базою.

          Створення сертифіката Let's Encrypt

          Сертифікат Let's Encrypt потрібний для захисту з'єднання між вашим веб-сервером і клієнтськими пристроями. Він забезпечує шифрування даних між сервером та клієнтом.

          Для створення сертифіката потрібно виконати декілька простих кроків.

          1. Завантажте дестрибутив із сайту https://www.win-acme.com/ та встановіть програму.
          2. Запустіть win-acme від імені адміністратора.
          3. У вікні, що відкриється, буде запропоновано вибрати одну з дій – виберіть m (Create certificate full option).
          4. У наступному списку виберіть 2 (Manual input).
          5. Введіть своє доменне ім'я, натисніть клавішу Enter, Enter.
          6. Виберіть 2 (Server verification files from memory).
          7. Виберіть 2 (RSA key).
          8. Виберіть відповідний формат сертифіката.
          9. Вкажіть шлях до папки із сертифікатами.
          10. У наступних пунктах виберіть варіант No, оскільки крім створення сертифіката в даний момент нічого від програми не потрібно.
          11. Натисніть Quit.

          Якщо все виконано правильно, сертифікат з'явиться у зазначеній папці.

          Конвертація SSL-сертифікатів

          Для конвертації сертифікатів можна використовувати онлайн-конвертер (наприклад, SSL Converter або Leader SSL) або команди з таблиці нижче:

          ДіяКоманда
          Конвертувати PEM в DERopenssl x509 -outform der -in certificate.pem -out certificate.der
          Конвертувати PEM в P7Bopenssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
          Конвертувати P7B в PEMopenssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
          Конвертувати P7B в PFXopenssl pkcs7 -print_certs -in certificate.p7b -out certificate.ceropenssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
          Конвертувати PFX в PEMopenssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
          Конвертувати PEM в PFXopenssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
          Конвертувати DER в PEMopenssl x509 -inform der -in certificate.cer -out certificate.pem

          Перенаправлення HTTP на HTTPS для веб-сервера IIS

          HTTP – небезпечний протокол, тому більшість сучасних браузерів за умовчанням використовують HTTPS. Але навіть у цьому випадку зберігається можливість експлуатації старого клієнта, який спробує підключитися по HTTP. Щоб запобігти цьому, потрібно налаштувати перенаправлення на HTTPS.

          1. Завантажте та встановіть модуль URL Rewrite на сервер IIS (завантажити можна із сайту IIS).
          2. Відкрийте програму IIS Manager на сервері.
          3. Виберіть веб-сайт у програмі IIS Manager.
          4. У меню IIS виберіть URL Rewrite.
          5. Натисніть кнопку Add Rule(s).
          6. У вікні виберіть Blank Rule та натисніть OK.
          7. Введіть будь-яке ім'я правила, а потім для параметрів Requested URL, Using, Pattern та Ignore case встановіть значення Matches the Pattern, Regular Expressions, (.*) і Checked відповідно.
          8. У розділі Conditions Для параметрів Logical grouping, Input, Type та Pattern встановіть значення Match Al, , Matches the Pattern та ^OFF$.
          9. У розділі Action для параметрів Action type, Redirect URL, Append query string та Redirect type встановіть значення Redirect, https:///, Checked та Permanent (301).
          10. Натисніть Apply, щоб зберегти налаштування.

          Після виконання цих кроків всі запити HTTP автоматично пересилаються на HTTPS.

          Перенаправлення HTTP на HTTPS на сервері Apache

          Для налаштування перенаправлення HTTP на HTTPS на сервері Apache потрібно змінити конфігураційний файл та додати відповідні правила перенаправлення.

          Відкрийте конфігураційний файл Apache. Зазвичай він знаходиться в директорії /etc/apache2/ і називається httpd.conf чи apache2.conf.

          Знайдіть розділ для вашого веб-сайту. Якщо ви маєте кілька віртуальних хостів, знайдіть відповідну секцію для потрібного сайту.

          Усередині секції додайте наступні рядки:

           ServerName example.com Redirect / https:///  

          — ip-адреса сервера та порт віртуального сервера

          ServerName example.com – ім'я сервераRedirect / https:/// — вказує на те, що всі запити до цього віртуального хоста мають бути перенаправлені на версію HTTPS.

          Збережіть зміни в конфігураційному файлі Apache і перезапустіть сервер Apache, щоб застосувати установки.

          На цьому налаштування перенаправлення буде завершено.

          Зареєструйтесь на панелі керування

          І вже за кілька хвилин зможете орендувати сервер, розгорнути бази даних або забезпечити швидку доставку контенту.