Как обойти ограничение 1С: доступ к HTTP сервисам без пароля через nginx

Проблема доступа к HTTP сервисам 1С

В 1С часто создаются HTTP‑сервисы, которые должны быть доступны без авторизации. Это актуально, например, для чат‑ботов ВКонтакте, где запросы приходят из внешних систем, и передать параметры аутентификации в запросе невозможно – база 1С защищена паролем.

Требуемое решение

Низамов Илья отправил пожелание в 1С, чтобы при публикации HTTP‑сервисов можно было указать подключение без пароля. Пока эта функция не реализована, разработчики используют обходной путь.

Костыль с nginx

Ниже описан простой способ обойти ограничение, используя веб‑сервер nginx в качестве прокси. При обращении к HTTP‑сервисам 1С nginx автоматически подставляет заголовок Authorization, позволяя клиенту работать как обычно, а сервер 1С остаётся защищённым.

Для реализации необходимо:

  • Развернуть nginx как промежуточный прокси‑сервер.
  • Настроить правила, которые добавляют нужный заголовок авторизации к запросам, направляемым на 1С.
  • Переадресовать ответы от 1С обратно клиенту без изменения.

Таким образом, клиентский код (например, чат‑бот ВКонтакте) продолжает работать без изменений, а доступ к базе 1С остаётся защищённым.

Если вам нужно быстрое решение и вы не можете дождаться официального обновления 1С, настройка nginx – это надёжный костыль, который поможет обойти текущие ограничения.