Настройка веб-сервера Apache для работы с 1С — это стандартная задача, когда требуется предоставить доступ к базе пользователям через браузер или тонкий клиент из любой точки мира. Однако процесс сопряжен с рядом технических нюансов: от конфликтов портов до обеспечения защиты передаваемых данных. В этой статье мы подробно разберем, как подготовить сервер, пробросить порты и защитить соединение.
По умолчанию веб-серверы используют 80 порт. Однако в операционных системах Windows этот порт часто занят системной службой World Wide Web Publishing Service (IIS) или другими программами (например, Skype). Чтобы гарантированно избежать конфликтов, рассмотрим процедуру смены порта.
Проанализируем файл конфигурации httpd.conf, который обычно находится в папке C:\Apache24\conf\. Нам необходимо найти строку Listen 80 и заменить её на свободный порт, например, Listen 83 или Listen 84. Это обеспечит стабильный запуск службы.
При публикации базы 1С через конфигуратор или утилиту webinst, адрес доступа будет выглядеть следующим образом: http://ваш_ip_адрес:83/имя_базы. Помните, что если вы работаете внутри локальной сети, достаточно использовать локальный IP сервера (например, 192.168.1.100).
После смены порта необходимо разрешить операционной системе принимать входящие подключения по этому порту. Разберем порядок действий в Брандмауэре (Windows Firewall):
Также рекомендуется добавить в исключения само приложение httpd.exe, чтобы системные фильтры не блокировали работу модулей расширения 1С.
Для того чтобы сервер стал доступен из интернета, нужно настроить маршрутизатор. Мы должны «объяснить» роутеру, что все запросы, приходящие на его внешний IP по определенному порту, нужно перенаправлять на внутренний IP-адрес сервера с 1С.
Выясним алгоритм настройки на типовом роутере:
192.168.1.1).Важный совет: Использование нестандартного внешнего порта (например, выше 30000) снижает вероятность автоматического обнаружения вашего сервера ботами-сканерами.
Одной из самых частых причин ошибок при публикации является несовпадение разрядности Apache и платформы 1С. Рассмотрим это правило подробнее:
В файле httpd.conf после публикации должна появиться строка загрузки модуля 1С. Для версии 8.3 она выглядит примерно так:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.XX.XXXX/bin/wsap24.dll"
Если разрядность не совпадет, Apache не сможет загрузить библиотеку wsap24.dll и служба не запустится.
Работа через незащищенный протокол HTTP опасна тем, что логины и пароли пользователей передаются в открытом виде. Рассмотрим способы защиты трафика.
Вариант А: Настройка SSL (HTTPS). Для этого нам потребуется SSL-сертификат. Если у вас нет возможности купить сертификат, воспользуемся бесплатным сервисом Let's Encrypt. На Windows для автоматизации этого процесса удобно использовать утилиту Win-ACME. Она автоматически создаст сертификат, подтвердит владение доменом и пропишет необходимые настройки в Apache.
Если вы настраиваете HTTPS вручную, убедитесь, что в папке bin вашего Apache присутствуют актуальные библиотеки. В современных 64-битных версиях файлы ssleay32.dll и libeay32.dll заменены на libssl.dll и libcrypto.dll. В httpd.conf необходимо раскомментировать строки:
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
Вариант Б: Использование VPN. Если настройка сертификатов кажется слишком сложной, или доступ нужен ограниченному числу сотрудников, проанализируем вариант с VPN. Использование таких решений, как Hamachi, ZeroTier или поднятие собственного WireGuard/OpenVPN сервера, позволяет оставить 1С на протоколе HTTP. Поскольку данные будут передаваться внутри зашифрованного туннеля, перехватить пароли будет невозможно.
Иногда веб-серверу требуются права для доступа к сетевым ресурсам или специфическим папкам. Выясним, как запустить Apache от имени конкретного пользователя:
services.msc найдем службу Apache, перейдем во вкладку «Вход в систему» и укажем учетные данные этого пользователя.Внимание: Использование простого пароля для такой учетной записи снижает безопасность всей системы. Рекомендуется использовать сложные пароли и ограничивать права этого пользователя только необходимыми каталогами.
При публикации базы через конфигуратор (Администрирование -> Публикация на веб-сервере), обратим внимание на параметр «Защищенное соединение».
Мы можем выбрать значение Только соединение — в этом случае шифроваться будут только критичные данные (авторизация). Значение Всегда обеспечит полную защиту всего трафика, но может немного снизить производительность при передаче больших объемов данных.
Мы проанализировали основные этапы настройки Apache для внешней работы 1С. Для успешного запуска важно соблюдать разрядность компонентов, правильно настроить проброс портов на сетевом оборудовании и не пренебрегать безопасностью, используя либо SSL-сертификаты, либо VPN-каналы. Помните, что открытый в интернет 80 порт без должной защиты — это прямой путь к компрометации ваших данных.