Публикация баз 1С на веб сервере с https и защитой

Zerox Обновлено: 01.04.2021 1C 47 комментариев 10,125 Просмотры

Схема установки

Я предлагаю следующую схему работы с базами 1С при их публикации. Доступ нужен будет отовсюду через интернет. Для этого арендуется выделенный сервер, например в selectel. Достаточно будет сервера примерно за 4000р. с 2 ssd дисками и 32g оперативной памяти. Туда ставится гипервизор proxmox. И настраиваются минимум 3 виртуальные машины:

  1. Любая windows система, где работает 1С. Если для подстраховки нужен терминальный доступ по rdp, то ставится windows server.
  2. Linux система, где будет работать nginx в качестве revers proxy. На ней будет настроен https с валидным сертификатом и при необходимости парольная защита.
  3. Любая система по вашему вкусу для бэкапов баз 1С. Они нужны будут для защиты основной виртуалки от шифровальщиков и прочей вирусни, которая может повредить базы данных. Смысл этой виртуалки в том, что тут бэкапы будут изолированы с ограниченным доступом. На этой же виртуалке настраивается передача этих бэкапов куда-то еще. Не должно быть так, что все архивные копии хранятся на одном физическом сервере у одного хостера.

Это минимальный набор виртуалок. Сюда же можно добавить мониторинг либо еще какой-то сервис, необходимый вашей компании. Например чат или ip телефония. Производительности дедика хватит для небольшой компании.

Настройка IP Address Restrictions

Перезапускаем IIS Manager если он был открыт, чтобы в нем появился элемент IP Address and Domain Restrictions.

Добавляем разрешающее правило. Для этого нажимаем Add Allow Entry (в панели Actions)

В открывшемся диалоговом окне вводим настройки IP адреса. В моем случае необходимо добавить всю подсесть в белый список. Поэтому в конце адрес стоит 0. И соответствующая маска подсети.

Далее настраиваем основную логику разрешения. Хотим, чтобы действовало правило «Все что не разрешено — запрещено». Для этого устанавливаем свойство Access for unspecified clients в Deny.

После всех настроек доступ разрешен только с вручную установленных (разрешенных) IP адресов. Со всех остальных IIS будет отдавать 403 ошибку.

Читайте также:  Какие файлы можно удалить при нехватке места на диске Linux

Аналогичным способом можно настроить черный список. Ограничить отдельные IP адреса к сайту.

Конфигурирование

Идем в управление компьютером (правой кнопкой мыши по значку «Компьютер» -> Управление), далее «Службы и приложения» -> «Диспетчер служб IIS» или счастливые обладатели Windows 7 могут пойти по другому «Пуск» и в поле «Найти программы и файлы» ввести «IIS» и в списке отобразится заветная «Диспетчер служб IIS»

Идем в сайты. Сайт по умолчанию я удалил сразу, решив что он мне не нужен и для наглядности я создам новый .

Правой кнопкой мыши по «сайтам» -> «Добавить web сайт»

и создаем наш первый сайт

Обратите внимание «localhost» был выбран не случайно. Так как именно эта директива является «по умолчанию» имеет локальный адрес 127.0.0.1 и имя прописанное в файле hosts lcalhost. подробнее советую почитать на википедии localhost437 и hosts310

В папке указанной как «физический путь», находятся файлы нашего сайта, которые были положены IIS в качестве демонстрационного примера 2 файла это и

После чего нажимаем «Ок».

Уже можно запустить браузер и перейти по адресу http://localhost/ и мы увидим приветствие ISS.

ISS Установлен и настроен!

Если Вы хотите чтобы ваш сайт откликался локально на другое имя, то вместо «localhost» нужно указать свое имя и завести его на DNS сервере или в файле hosts.Используемые источники:

  • _it/2012/05/
  • -iis-8-v-windows-server-2012/
  • -iis-na-windows-7

Добавление ещё одного сайта на порт

В порядке эксперимента – добавим ещё один сайт на 80 порт.

В принципе всё! Основное мы сделали. Просто добавляйте хосты при создании сайтов. Если доменов ещё нет, а нужно сайт создать, просто пишите абракадабру в поле хоста – её всегда можно будет поменять на нормальные хосты через изменение привязок. Но абракадабра в браузере не запустится.

Добавление ещё одного сайта на порт

Если нужно сайт создать протестировать в браузере, тогда можно либо подредактировать файл hosts у Windows, либо использовать Default Web Site. В файле hosts можно прописать IP и имя сайта. Об этом я писал в конце прошлого поста, про подключение домена к приложению.

Небольшой эксперимент

Я воспользовался своими же гипотезами, описанными выше и разместил на IIS на удаленном рабочем столе ещё один сайт, присоединив к нему домен

Добавление ещё одного сайта на порт

И тут же вчерашний эксперимент

Таким образом, удалось добиться одновременной работы 2-х сайтов на VPS Azure на 80 порту.

Читайте также:  Как проверить пинг до сервера майнинг-пула с помощью стратум-пинга

Вот как это работает

Добавление ещё одного сайта на порт

Когда пишем в браузере доменное имя, например , он опрашивает DNS сервера

DNS сервера указывают на IP компьютера, на котором находится IIS

IIS сверяется со списком сайтов и! обратите внимание списком хостов, которые мы указывали.

Добавление ещё одного сайта на порт

Источник

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

Как уже упоминал выше, с публикацией web сервиса на IIS 7.5 с первого раза у меня не задалось, хотя тонкий клиент запускается без проблем. Поскольку пароль в конфигурационном файле по соображениям безопасности меня не устраивал, вернулся к вопросу настройки IIS. Был опубликован web сервис с именем wsIIS и именем сервиса ServiceIIS и alias-ом Галка в чекбоксе «Использовать аутентификацию операционной системы на веб-сервере» для простоты эксперимента была снята.

Публикация web сервиса 1С в IIS 7.5.

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

Корректная ссылка в моем случае: http://s-1c-1-hw/wsIIS/ws/ServiceIIS?wsdl. При попытке зайти из Chrome/IE получаем ошибку возвращенную IIS:

Установка SSL сертификата на Microsoft IIS x, x (файл *.crt)

Рассмотрим как установить SSL сертификат в IIS 7 и 8. Прежде чем установить сертификат, необходимо убедиться, что у Вас есть файл с расширением *.crt

Процедура покупки/установки сертификата считается относительно сложным процессом, и требует четкого соблюдения ряда правил. Если Вам, как владельцу магазина «быстро и просто нужен сертификат», то для этого мы специально ввели услугу покупки и установки сертификата под ключ, т.е. наш специалист поддержки запросит все необходимые данные, создаст почту на домене (если требуется), зарегистрирует SSL сертификат и корректно установит его на сайт (к магазину или воронки). Вы оплачиваете один раз, и далее дело за нами, услуга доступна в разделе услуги, вот тут —

Если вы уже приобрели SSL сертификат, но не хотите, тратить время или не до конца уверены в правильности действий, то для такого случая мы так же ввели услугу установки уже купленного сертификата на ваш сайт. Специалист проверит сам сертификат на пригодность и корректно установит его на сайт, услуга «Установка SSL сертификата» доступна в разделе услуги, вот тут —

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

Если вы используете тип хостинга выделенный сервер (VPS/VDS или Dedicated), вам нужно зайти на машину по протоколу RDP (Remote Deskstop) под учетной записью, которую выдал хостинг.

  • Нажмите Start.
  • Выберите Administrative Tools.
  • Запустите Internet Services Manager — IIS
  • Нажмите на название сервера (обычно это название компьютера) в дереве элементов слева
Читайте также:  Установка и настройка сервера терминалов Windows Server 2016

В главном меню кликните по кнопке «Server Certificates» в разделе «Security».

Выберите меню «Actions» (справа), нажмите на «Complete Certificate Request».

Откроется мастер Complete Certificate Request.

Введите место расположения вашего IIS SSL сертификата (нужно нажать кнопку browse для определения места расположения Вашего IIS SSL сертификата. Этот файл должен иметь название «»).

Затем введите удобное имя сертификата. Оно не является частью самого сертификата, но используется администратором сервера для легкого различения сертификата.

Затем нажмите Ok.

Примечание: Известно, что в IIS 7 появляется следующая ошибка: «Cannot find the certificate request associated with this certificate file. A certificate request must be completed on the computer where it was created.» Вы также можете увидеть ошибку, констатирующую «ASN1 bad tag value met». Если этот тот же самый сервер, на котором Вы генерировали и CSR, то в большинстве случаев сертификат фактически установлен. Просто отмените диалог и нажмите «F5» для обновления списка сертификатов сервера. Если новый сертификат появился в списке, то Вы можете продолжать дальше. Если сертификат не появится в списке, то Вам нужно перевыпустить сертификат, используя новый CSR (смотрите наши инструкции по созданию CSR на IIS 7).

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

В главном окне Internet Information Services (IIS) Manager в меню «Connections» выберите имя сервера, В «Sites» выберите сайт, который будет защищен SSL, далее в меню «Actions»(справа), нажмите на «Bindings».

Откроется окно «Site Bindings».

В окне «Site Bindings» нажмите «Add». Тем самым Вы откроете «Add Site Binding».

В «Type» выберите https. IP адрес должен быть IP адресом сайта или * (All Unassigned), и порт, по которому будет защищен трафик посредством SSL, обычно это 443.

Сертификат, который ранее был установлен, должен быть задан в поле «SSL Certificate».

Источник