1с публикация на веб сервере зависает
Возьмем для примера веб-сервер на базе MS IIS с публикациями баз 1С. Бывают случаи, когда сеансы пользователей зависают. Например, при использовании веб/тонкого клиента 1С.
Одно дело — клиент-серверный вариант, с применением СУБД. С ним проще. Открываете административную консоль и через список закрываете эти зависшие сеансы.
В случае файловой базы все не так тривиально. В Конфигураторе вы можете видеть эти якобы активные сеансы, но отдельной команды в интерфейсе на закрытие — попросту нет.
Стандартная рекомендация — перезапуск веб-сервера. В принципе, она должна помочь, и зависшие сеансы на файловых базах очистятся.
Но, на практике выполнить сложнее, т. к. баз бывает несколько и ведется активная работа других пользователей. Могут быть ошибки и потери связи. Плюс недовольства сотрудников, что их работу прервали.
Какое может быть решение? Один из выходов — более тонкая настройка IIS.
Сделать так, чтобы каждая опубликованная база (приложение) выполнялась в отдельном пуле приложений. По умолчанию все публикации «привязываются» к DefaultAppPool.
Выберите время и настройте IIS, чтобы каждой информационной базе был сопоставлен отдельный пул.
Или сгруппируйте базы так, как вам удобно, чтобы сократить количество пулов. Выходит, что базы будут не в одной «куче», а по отдельности.
- Откройте консоль «Диспетчер служб IIS».
- В левой части выберите «Пулы приложений», а справа по команде «Добавить пул приложений…» зарегистрируйте новый пул с настройками, аналогичными пулу по умолчанию. Добавьте понятное имя, например, по названию публикации ИБ.
- Перейдите в список опубликованных баз.
- Выберите ИБ, через «Основные настройки…» укажите новый пул из ранее созданного в п. 2.
- Повторите шаги 1-4 для других информационных баз при необходимости.
Теперь, когда появляется задача по закрытию зависших сеансов в 1С — вы перезапускаете соответствующий пул, а не веб-сервер. Таким образом не мешаете своим коллегам работать с базами.
Использование веб-сервера и публикаций информационных баз — один из способов оптимизации 1С. Особенно при работе с ИБ в файловом варианте. Так безопаснее. Сотрудники подключаются к ИБ 1С через браузер или тонкий клиент , не имея прямого доступа к файлам.
В статье расскажем, как решали возникающие вопросы по настройкам Internet Information Services. Через призму своего опыта и коллег.
Подробнее описано здесь . В проекте использовали бесплатный SSL-сертификат Let's Encrypt. Но поспешили отключить внешние соединения на 80-й порт — что было ошибкой.
Сертификат выдается сроком на 90 дней. Для автоматического продления создается периодическое задание в Планировщике. При запуске задачи сайт должен быть доступен (пройти проверку домена) по 80-му порту.
II. Типовая настройка и публикация информационных баз на IIS
На что обратить внимание:
1. Состав компонентов IIS — в Интернете полно инструкций и указаний. Повторяться не будем.
2. Установка 1С необходимой разрядности . Варианта 2: x86 (32-разрядное приложение) или x64. Обязательно выбираем «Модули расширения веб-сервера».
3. Права для встроенной группы /пользователю веб-сервера (IUSR) на папки:
- с установленной платформой — на «чтение и выполнение» (для старта процессов);
- самих расположений ИБ — на «изменение» (в случае файлового варианта).
4. Публикация базы через Конфигуратор 1С . Возможно потребуется открыть программу с повышенными правами — «Запуск от имени администратора».
5. Для 32-разрядного клиента 1С в диспетчере IIS включаем разрешение запуска ( DefaultAppPool — Дополнительные параметры — Разрешены 32-разрядные приложения = True ). Для 1C x64 — значение не меняем.
6. На странице сопоставления обработчиков для «1С Web-service Extension» потребуется указать путь к исполняемому модулю :
- x86 — «C:\Program Files (x86)\1cv8\8.3.x.xx\bin\wsisapi.dll»;
- x64 — «C:\Program Files\1cv8\8.3.x.xx\bin\wsisapi.dll».
Либо изменяем путь к библиотеке в файлах web.config через Блокнот (располагается, как правило, в c:\inetpub\wwwroot\).
Если в п. 2 все сделано правильно — по указанному пути должен присутствовать файл wsisapi.dll.
7. В частных случаях требуется перезапуск служб IIS . Выполните «Перезапустить» в оснастке управления или перезагрузите сервер.
✅ Соблюдаем соответствие разрядности: если запускаем и публикуем 64-разрядный клиент 1С:Предприятие, то dll также должна быть 64-битной версии.
Если публикуем 32-разрядную версию 1С, то ставим разрешение запуска 32-разрядных приложений на IIS и проверяем путь к wsisapi из каталога x86.
III. Если клиент 1С зависает при подключении к базе по web
Прежде посмотрите этот материал — там общие рекомендации.
Другой случай. Файловая ИБ опубликована на IIS. После авторизации зависает на эмблеме 1С. При открытии Конфигуратора — все нормально.
В журналах Windows ошибка «Процесс, обслуживающий пул приложений "1С", не ответил на команду ping».
- проверьте права на папку с базой 1С для IUSR/IIS_IUSRS, уровень доступа — на «изменение»;
- в оснастке IIS «Пулы приложений — — Дополнительные параметры — Модель процесса» задайте для « Максимальная задержка отклика при проверке связи » значение, превышающее 90 секунд;
- посмотрите на поведение IIS при «Проверка связи включена» = False.
📝 Из справки: установка [pingingEnabled] (Проверка связи) в значение false не позволит IIS проверять, выполняется ли рабочий процесс, и таким образом сохранит его активным до остановки процесса отладки.
✅ Установка «Максимальное время отклика пинга» в большое значение позволит IIS продолжать наблюдение за рабочим процессом.
IV. Ошибка сервера в приложении '/AO_SSR'
Информационная база 1C опубликована на IIS. При работе через тонкий клиент, при нажатии на «Отчеты» вываливается ошибка.
« Ошибка сервера в приложении '/AO_SSR'. Обнаружено потенциально опасное значение Request.Path, полученное от клиента.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
✅ Откройте настройки пула приложений и проверьте «Режим управляемого конвейера» = «Classic».
Ошибка 1С 8 при публикации базы: Невозможна публикация информационной базы на веб-сервере Apache при различной разрядности платформы (64) и веб-сервера (32). Публикация не выполнена.
Описание ошибки:
После установки платформы 1С: Предприятие 8 разрядности x64 (ранее была установлена платформа 1С 8 разрядности x32) при попытке обновить публикацию базы на веб-сервере возникла ошибка "Невозможна публикация информационной базы на веб-сервере Apache при различной разрядности". Платформа 1С: Предприятие 8.3.18.1289
Пересказывать процесс настройки веб-сервера 1С на Apache нет смысла, т.к. уже есть достойная пошаговая инструкция на сайте infostart.ru. Поэтому перейдем к проблеме, с которой можно столкнуться в процессе окончания настройки и попытки непосредственной публикации базы по нажатию кнопки "Опубликовать".
Рис. 1. Ошибка при попытке "Опубликовать" базу 1С 8 на веб-сервере Apache, когда различаются разрядности
Ошибка так же может быть и немного в другой формулировке - наоборот, что разрядность платформы (32), а веб-сервера (64). И это возникает по одной простой причине, что разрядность платформы 1С:Предприятие 8 и веб-сервера должны быть одинаковыми. Т.е. было нарушено это правило, когда была установлена x64 платформа 1С 8.
Логично, что ранее был установлен и работал Apache соответствующей 32 разрядности. Теперь необходимо было скачать и установить Apache разрядности x64.
Послу установки или переустановки Apache необходимо так же в файле httpd.conf сервера Apache изменить строку, в которой указан файл самой 1С для взаимодействия с веб-сервером "wsap24.dll"
В данном примере пришлось изменить путь с "Program Files (x86)" на " Program Files " и указать каталог соответствующего установленного релиза платформы.
Нажатие на изображении увеличит его
Рис. 3. Добавление в файл "httpd.conf" Apache записи для загрузки модуля веб-сервера "wsap24.dll" для 64-разрядной 1С 8
Если ранее стоял Apache другой разрядности. То его лучше предварительно удалить. После установки с другой разрядностью служба сервера "Apache2.4" может не стартовать, т.к сохранился старый путь к исполняемому файлу службы. Для этого необходимо запустить редактор реестра Windows. В дереве перейти к ветке "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Apache2.4" и у строкового параметра ImagePath изменить значение пути к исполняемому файлу.
Нажатие на изображении увеличит его
Рис. 4. Указание пути к файлу службы сервера Apache после переустановки в редакторе реестра Windows
Но после всех указанных действий и успешного запуска службы Apache платформа 1С упорно отказывалась видеть 64-разрядную версию веб-сервера. Сохранялась ошибка "Невозможна публикация информационной базы на веб-сервере Apache при различной разрядности платформы (64) и веб-сервера (32)" после нажатия на кнопку "Опубликовать".
Прошли долгие искания, пока по запросу "1с 8 веб сервер при публикации не видит apache" не был получен любопытный ответ на странице форума сайта infostart.ru о том, что когда Apache установлен не в каталоге "Program Files", то 1С его не видит:
Нажатие на изображении увеличит его
Рис. 5. Определение причины, почему 1С 8 не видит Apache 2.4
Так же эту информацию подтвердила ссылка ниже на сайт ИТС все на той же странице инфостарта. Т.к. 1С ищет файл конфигурации httpd.conf в каталоге установки по умолчанию: C:\Program Files\Apache Software Foundation\Apache2.4\conf (для разрядности Apache x64), а в моем случае установка была выполнена в другой каталог, то как и пользователю, мне помогло ручное создание каталога и копирование в него файла httpd.conf. Соответственно для Apache 32 разрядности каталог будет "Program Files(x86)".
Нажатие на изображении увеличит его
Рис. 6. Вариант решения проблемы того, что 1С 8 не видит установленный Apache 2.4 в качестве веб-сервера.
Поэтому для цели работы Apache в связке с 1С необходимо, чтобы установка веб-сервер в лучшем случае выполнялась в каталог "по умолчанию".
После этого оставалось преодолеть еще трудность, состоявшую в том, что в окне "Публикация на веб-сервере" в конфигураторе 1С 8 в списке поля "Веб-сервер" оказался доступен только "Internet Information Services".
Рис. 7. Ситуация, когда в конфигураторе 1С 8 при публикации на веб-сервере доступен только IIS
Но эта проблема решилась тем, что дополнительно нужно выполнить установку Apache в качестве службы ОС с помощью команды -k install в командной панели.
После данных операций наконец-таки стало возможно "Опубликовать" базу на веб-сервере Apache 2.4 и она и другие базы были опубликованы. И стал возможен запуск через браузер и через веб-клиент платформы на локальном рабочем месте.
Но еще оставалось преодолеть последнюю проблему. После того, как вроде казалось, что публикация настроена и база опубликована. при попытке открытия в веб-браузере публикация зависала при запуске базы 1с. Либо появлялась картинка запуска 1С, но не доходило до окна выбора пользователя. Либо просто ничего не происходило, не выдавая ошибку и 8ка в браузере зависала на заставке 1С (в конкретном случае для Apache 2.4).
Нажатие на изображении увеличит его
Рис. 9. Пример зависания при запуске 1С 8, опубликованной на веб-сервере, в браузере. Не открывается окно выбора пользователя
Либо для другой базы возникала ошибка "Произошел временный сбой интернет-соединения".
Нажатие на изображении увеличит его
Рис. 10. Ошибка при зависании базы 1С, опубликованной на веб-сервере, в браузере. Диалог авторизации пользователя не открывается.
Подключение базы через тонкий клиент - работало через ошибку, но все-таки открывалось окно для авторизации пользователя и база запустилась. Либо, принудительно нажимая кнопку "Выполнить запуск", либо дождавшись время истечение таймера на этой кнопке база открывалась.
Н о хотелось довести дело до окончательного финального результата, ведь доступ к базе мог потребоваться именно через web-браузер на любом стороннем рабочем месте.
Анализ логов ошибок Apache в файле "error.log" показал на ошибку "[ssl:warn] [pid 20524:tid 388] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name", что переводится как "Сертификат сервера НЕ включает идентификатор, который соответствует имени сервера".
Нажатие на изображении увеличит его
Рис. 12. Ошибка в логе ошибок "error.log" сервера Apache 2.4, когда происходит попытка обращения к базе в веб-браузере.
По данной ошибке нашлось две страницы, Certificate does NOT include an ID which matches the server name и How to Fix the XAMPP “Server Certificate Does NOT Include an ID Which Matches the Server Name” Error рекомендации с которых собирательно указвают на то, чтобы изменить в настройках файла "httpd-ssl.conf" строку, содержащую адрес сервера с " ServerName www.example.com:443" на " ServerName localhost:8080 ".
После изменения, сохранения и перезапуска Apache проблема того, что 1С в браузере висела осталась, но явно уже этой ошибки в логе "error.log" не было.
Поиски продолжались. Был установлен сертификат из файла сертификата безопасности "conf/ssl.crt/server.crt" (см. предыдущий скрин для определения размещения файлов по данным файла " httpd-ssl.conf " ).
Рис. 14. Установка SSL-сертификата сервера Apache.
Попытка по инструкции установить сертификат в хранилище доверенных не дала положительных результатов. На этом попытки довести работоспособность в веб-браузере был приостановлены. Надеюсь, что приведенные варианты действий после преодоления проблемы с разной разрядностью платформы 1С 8 и веб-сервера Apache окажутся кому-нибудь все-таки полезными, т.к. кому-то они действительно помогли. Вариант работать с базой через веб-клиент, установив на рабочем месте платформу соответствующей разрядности удовлетворял, как возможный и позволяющий вести работу.
Если появится решение окончательной проблемы, то, конечно, эта статья, будет дополнена информацией.
Настройка и сопровождение 1С запись закреплена
Если зависает веб-клиент 1С при подключении к базе
Что делать, когда зависает 1С при запуске web-клиента. При входе через браузер или тонкий клиента появляется только страница загрузки, а дальше ничего не происходит. Ошибки не выдает, окно авторизации с выбором пользователя не выходит.
На прошлой неделе поймали похожую ситуацию со следующими симптомами: при перезапуске службы «Агент сервера 1С:Предприятия 8.3 (x86-64)» программа пускает только одного пользователя, у следующих — зависания. Войти в 1С уже не могут.
Как правило, сбой возникает из-за ошибки лицензий. Их должен выдавать сервер, но по какой-то причине определяет только одну сетевую лицензию и выдает её первому пользователю.
= = =
Общие рекомендации
1. Очистка кэша на клиенте (если не браузер), а также серверного кэша.
2. Выполнение проверки с правами администратора «sfc /scannow» на сервере.
3. Перезагрузка операционной системы сервера 1С.
= = =
На уровне web-служб
1. Откройте оснастку «Диспетчер служб IIS» и проверьте состояние «Пулы приложений\DefaulAppPool» и сайта «Defaul Web Site» — здесь, конечно же, все зависит от ваших настроек. Идея простая: если есть подозрения, что дело в этих службах — перезапустите их.
3. Измените настройки пула IIS — Load User Profile (Загрузить профиль пользователя) на False. Дополнительные параметры — блок «Модель процесса».
= = =
На уровне сервера 1С
1. Выполните переустановку сервера 1С с последующей перезагрузкой (перезапуском) машины.
2 Установите другую, более новую версию платформы.
3. Проверьте настройку «Разрешить выдачу лицензий сервером 1С:Предприятия», чтобы стояло значение «Да».
В нашем случае помогла только переустановка сервера 1С и повторная публикация информационных баз на IIS.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный теcт.
Введение
Допустим, у вас небольшой рабочий коллектив и вам нужно работать с базами 1С. Одновременно там будет работать 2-3 человека, редко 5. В общем, в этих пределах. Вам надо купить как минимум 5 софтовых лицензий для сотрудников. Но куда их ставить, если у каждого сотрудника свой компьютер, а сервер терминалов поднимать не было в ваших планах. Во-первых, он денег стоит, во-вторых, его надо настраивать, обслуживать, защищать от угроз извне, если доступ будет по rdp. В общем, на маленьких масштабах это пушкой по воробьям. Чего уж говорить о клиент серверной установке 1С с использованием сервера баз данных mssql или postgresql. Для небольших компаний это перебор как по цене, так и функционалу. Я предлагаю решение значительно проще.
На помощь приходит публикация баз 1С на веб сервере с доступом пользователей через браузер. Лицензии ставятся на один компьютер. На него устанавливается веб сервер, публикуются базы 1С и настраивается доступ. Пользователям достаточно будет передать только ссылку для работы в базах. Это удобная схема работы, плюс в целом быстродействие файловых баз при одновременной работе нескольких пользователей будет выше. Ко всему прочему еще и пользователям на компьютер не нужно ставить платформу и обновлять ее.
Схема установки
Я предлагаю следующую схему работы с базами 1С при их публикации. Доступ нужен будет отовсюду через интернет. Для этого арендуется выделенный сервер, например в selectel. Достаточно будет сервера примерно за 4000р. с 2 ssd дисками и 32g оперативной памяти. Туда ставится гипервизор proxmox. И настраиваются минимум 3 виртуальные машины:
Это минимальный набор виртуалок. Сюда же можно добавить мониторинг либо еще какой-то сервис, необходимый вашей компании. Например чат или ip телефония. Производительности дедика хватит для небольшой компании.
Публикация баз 1С на веб сервере
Идем на виртуалку с windows и работаем там с 1С. Кстати, если хотите обойтись вообще без windows, то есть возможность настроить публикацию баз 1С на linux на примере Centos.
Для начала устанавливаем технологическую платформу и не забываем выбрать Модули расширения веб-сервера.
Создаем там необходимую вам базу данных. Я покажу на примере публикации типовой базы Бухгалтерия 3.0. При первом запуске необходимо будет установить на этот компьютер софтовые лицензии. Они будут использоваться при доступе к базам через браузер.
Установка и настройка Apache 2.4 в Windows
Если вы настраиваете apache на Windows Server, то скорее всего 80-й порт у вас будет занимать Служба веб-публикаций (World Wide Web Publushing Service) или W3SVC. Ее можно остановить и отключить.
Для того, чтобы точно узнать, кто занимает тот или иной порт в Windows, можно воспользоваться командой в консоли:
Дальше через диспетчер задач смотрите, какой процесс имеет указанный pid. В моем случае это apache. Если это какой-то системный процесс, у него будет pid 4.
Итак, конфиг apache отредактировали, порт 80 указали. Теперь установим apache 2.4 как службу windows. Для этого открываем командную строку от администратора (это важно), переходим в каталог C:\Apache24\bin и выполняем:
Вы можете увидеть ошибку, связанную с отсутствием fqdn имени у сервера. Но реально это не представляет проблемы, можно игнорировать.
Переходим в оснастку windows Службы и запускаем Apache2.4.
Дальше выполняем непосредственно публикацию базы 1С через web сервер apache. Открываем базу через Конфигуратор, выбираем Администрирование -> Публикация на веб-сервере. В качестве каталога можно указать тот же, где лежит сам файл с базой.
Все настройки можно оставлять дефолтными. Сохраняем изменения. После этого должен быть выполнен перезапуск службы apache автоматически. Но если платформа была запущена не от администратора, то у нее не хватит прав это сделать. Надо сходить в Службы и перезапустить вручную.
Теперь с ней можно работать через браузер, но пока только с этого компьютера, либо по локальной сети. Далее сделаем так, чтобы доступ был и через интернет.
Доступ к файловой базе 1с через интернет в браузере
На данную виртуальную машину должны быть проброшены 80 и 443 порты с внешнего ip адреса. Как это будет сделано, зависит от ваших сетевых настроек. В случае с proxmox я настраиваю подобный проброс с самого хоста с помощью iptables. Пример настройки iptables читайте в отдельной статье. Там есть и про проброс. Не буду на этом задерживаться в статье про 1С.
Теперь нам нужно получить сертификат. Для этого запускайте в консоли certbot и следуйте инструкциям. Перед этим остановите nginx. Для быстрого получения сертификата certbot предлагает временно запустить свой веб сервер на 80-м порту.
В данном случае 10.10.10.11 - локальный ip адрес виртуальной машины с windows, где опубликована база 1С через apache. Доступ к 1С сразу же закрыт отдельным паролем и механизмом веб сервера auth basic. Создадим файл с именем пользователя и паролем, указанным в конфиге.
Вот и все. Можно относительно безопасно выставлять такую конструкцию в интернет. В случае необходимости можно настроить fail2ban, если кто-то надумает перебирать пароли или просто выполнять непонятные запросы к веб серверу с опубликованными базами. При желании в том же nginx с помощью директив allow и deny можно ограничить доступ к виртуальному хосту с базами на уровне ip адресов. Это на случай, если не умеете делать то же самое на фаерволе. В nginx проще и быстрее.
Не забудьте настроить автоматическое обновление tls сертификатов. Как это сделать, я рассказываю в статье с настройкой web сервера. Ссылку на нее я дал выше.
Какие бывают проблемы с работой в 1С через браузер
В таком режиме у меня уже пару лет работают несколько серверов с 1С. Иногда возникают нюансы с доступом через браузер. Например, не настроить обмен между базами, не зная их локальных путей. Бухгалтера сами его не смогут настроить. Им нужно будет передать информацию по директориям с базами. Понятное дело, что и обновить платформу они сами не смогут, так как нужно будет обновлять и публикацию баз. Когда вы сами подключены через браузер, сделать это невозможно.
Так что некоторые вещи, которые обычно бухгалтера в небольших компаниях способны сделать сами, придется делать тому, кто обслуживает этот сервер. Но бонусом идет то, что на самих пользовательских компьютерах ничего настраивать не надо. Вы просто передаете пользователю адрес в интернете и учетные данные. И он начинает работать в базе 1с. Платформу ставить не надо, как и решать вопрос с лицензиями на клиентах.
Сделать это надо в cmd с правами администратора. И повторять каждый раз при обновлении платформы, не забывая указать путь к новой версии файла.
Ошибка совершенно не гуглится, так что потратил много времени на ее решение. Помог режим отладки в chrome. Я просто проверил все запросы и нашел ошибочные с кривыми урлами. И так и сяк пытался их решить редиректами на веб серверах, но в итоге пришлось в apache переехать на 80-й порт и ошибка ушла.
Ну и еще одно отмечу. Иногда apache зависает или начинает сильно тупить. Обычно после долгого аптайма в несколько недель. Я подробно не разбирался в проблеме. Предпочел просто перезапускать его раз в сутки ночью. Для этого сделал обычный bat файл и настроил запуск через планировщик Windows.
Понятно, что это грубый костыль, но проблему решает. Ночью все равно с 1С никто не работает. Это история не про отказоустойчивость, резервирование и работу 7/24/365.
Подключение через Платформу 1С:Предприятие к базе 1С, опубликованной в веб
Упомяну одну важную вещь, про которую я сам узнал не сразу. С опубликованной в web базой 1С не обязательно работать через браузер. Можно подключиться через обычную платформу, если она у вас установлена на компьютере. Причем все отлично заработает даже с дополнительной basic auth в виде еще одной авторизации.
Чтобы добавить такую базу в платформу, достаточно указать, что тип расположения информационной базы - веб-сервер.
При подключении к такой базе вам сначала нужно будет ввести пароль на доступ к веб сайту, а потом уже появится авторизация самой 1С. Удобно выходит. И субъективно кажется, что через платформу 1С работать с опубликованной базой немного быстрее. Быстрее отклик на действия пользователя.
Бэкап баз 1С
Для полноты картины расскажу, как легко и быстро забэкапить файловые базы 1С. Пошаговую инструкцию не буду писать, так как у всех свои ситуации и каждый делает по-своему. Я на словах расскажу, как можно поступить с архивными копиями. Сам я каждый раз придумываю разные решения для бэкапов 1С в зависимости от обстоятельств.
Для меня важно держать где-то недалеко от рабочего сервера несколько архивных копий баз, чтобы их можно было оперативно загрузить на сервер и работать с ними. Для этого у меня на этом же гипервизоре отдельная виртуальная машина исключительно для бэкапов. Доступ к ней максимально ограничен. Она сама забирает все бэкапы к себе. С windows машины к ней доступа нет. Сделано это для простейшей защиты от шифровальщиков. Если какой-то вирус попадет на сервер и зашифрует базы 1С, я очень быстро смогу их восстановить из архивных копий, которые хранятся на этом же гипервизоре, только в другой виртуальной машине.
На windows сервере можно просто расшарить директорию с базами 1С, а на виртуалке для бэкапов подключить ее. Я обычно использую Linux систему для этого. В ней монтирую шару по smb. Как это сделать рассказываю в отдельной статье - Как быстро подмонтировать сетевой диск в Linux. После того, как подключили папку с базами 1С к бэкап серверу, можете делать с ними все, что угодно. Например, куда-то копировать с помощью rsync и сохранять изменившиеся базы. Подробно схему бэкапов с помощью rsync описываю тоже отдельно - настройка rsync для бэкапа. Обязательно одну копию держу локально на сервере с бэкапами, вторую отправляю куда-то в удаленный приемник. После этого шару отмонтирую. Она подключена только для копирования баз с windows машины на linux.
Так же для бэкапов вы можете использовать какое-нибудь S3 хранилище, например у того же Selectel. По моим недавним сравнениям по ценам там наиболее выгодные условия из известных хостеров. По крайней мере я дешевле не нашел. Заливать бэкапы в S3 можно с помощью утилиты rclone. У Selectel еще очень удобно сделано в плане настройки времени хранения данных в контейнерах. Я обычно создаю 3 разных контейнера:
- Day - в него заливаются архивы каждый день. Срок хранения файлов в этом контейнере - 7 дней. Настраивается это штатно в панели управления. На стороне хоста, с которого заливаются данные, ничего делать не надо.
- Week - архивы заливаются раз в неделю и хранятся 31 день.
- Month - архивы заливаются раз в месяц и хранятся условно бесконечно.
Таким образом мы просто каждый день льем файлы в S3 в разные контейнеры, а там они автоматом ротируются. Мы всегда имеем 7 последних копий, 4 недельные и помесячные. Удобная схема и не очень дорогая. Стоимость хранения можете сами прикинуть по калькулятору хранилища.
Еще один вариант бэкапа - копировать базы по nfs на какой-то сервер. В общем, тут вариантов может быть очень много. Я для этого и использую такую схему - подключение директории с базами к linux серверу, а там уже возможности по работе с бэкапами безграничные. Можно на тот же Яндекс.Диск их передавать. Вот тоже статья по этому поводу - бэкап на яндекс диск. Правда там речь идет про сайт, но принципиальной разницы нет.
Заключение
Это все, что я хотел рассказать по поводу публикации файловых баз 1С в интернет. Постарался дать не только технические данные но и свои личные подробности, основанные на опыте подобных эксплуатаций. Я хоть и пытаюсь дистанцироваться от 1С, но она настолько популярна в России, что так или иначе сталкиваешься с этим продуктом. Да я и свою бухгалтерию ИП сам веду в 1С :)
Если захотите себе настроить что-то подобное, то обращайтесь ко мне. Я могу подобрать подходящее решение под ваш бюджет и выполнить настройку. Это будет дешевле быстрее и скорее всего лучше, чем вам настроят через франчайзи. По крайней мере то, что я видел, чаще всего было настроено так себе. Без акцента на безопасность и удобство, лишь бы работало.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите подробнее программу ссылке.
Читайте также: