Проблема доступа к HTTP сервисам 1С
В 1С часто создаются HTTP‑сервисы, которые должны быть доступны без авторизации. Это актуально, например, для чат‑ботов ВКонтакте, где запросы приходят из внешних систем, и передать параметры аутентификации в запросе невозможно – база 1С защищена паролем.
Требуемое решение
Низамов Илья отправил пожелание в 1С, чтобы при публикации HTTP‑сервисов можно было указать подключение без пароля. Пока эта функция не реализована, разработчики используют обходной путь.
Костыль с nginx
Ниже описан простой способ обойти ограничение, используя веб‑сервер nginx в качестве прокси. При обращении к HTTP‑сервисам 1С nginx автоматически подставляет заголовок Authorization, позволяя клиенту работать как обычно, а сервер 1С остаётся защищённым.
Для реализации необходимо:
- Развернуть nginx как промежуточный прокси‑сервер.
- Настроить правила, которые добавляют нужный заголовок авторизации к запросам, направляемым на 1С.
- Переадресовать ответы от 1С обратно клиенту без изменения.
Таким образом, клиентский код (например, чат‑бот ВКонтакте) продолжает работать без изменений, а доступ к базе 1С остаётся защищённым.
Если вам нужно быстрое решение и вы не можете дождаться официального обновления 1С, настройка nginx – это надёжный костыль, который поможет обойти текущие ограничения.