← База знаний

Ошибка авторизации (401/403) при обмене 1С и сайта: подробный разбор

Самая раздражающая проблема на старте: вы настроили обмен в 1С, нажимаете кнопку "Проверить соединение", и программа выдает: Не удалось установить соединение. Ошибка сервера 401 (Unauthorized) или 403 (Forbidden). Разбираемся, кто кого не пускает.

🔍 Ошибка 401 (Unauthorized) - Неавторизован

Ваша 1С постучалась на сайт, скрипт обмена спросил "Кто там?", а 1С не смогла предоставить правильный логин-пароль.

Причина 1: Элементарная опечатка

Проверьте, правильно ли написан логин и пароль в узле обмена 1С. Пароль от пользователя сайта (администратора или интегратора). Совет: скопируйте пароль в блокнот, проверьте что нет лишних пробелов в начале и в конце, и вставьте в 1С.

Права пользователя CMS:
  • Для Битрикс: пользователь должен входить в группу администраторов или группу, которой разрешен обмен с 1С.

Причина 2: Блокировка Basic Auth на хостинге

Современные хостинги из соображений безопасности (от брутфорс атак) вырезают HTTP заголовки базовой авторизации, которые присылает 1С. Ваш PHP скрипт на сайте (например, `1c_exchange.php`) просто не получает переменные `$_SERVER['PHP_AUTH_USER']`.

Решение: Добавить специальное правило в конфигурацию веб-сервера.

В файл .htaccess (если используется Apache) добавьте строку:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Или (если PHP работает как CGI):
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]

⚡ Ошибка 403 (Forbidden) - Доступ запрещен

Здесь ситуация иная: 1С авторизовалась, но сервер (именно сервер, а не скрипт сайта) жестко запретил ей выполнять какие-либо действия по этому адресу.

Причина 1: Защита от DDoS и Web Application Firewall (WAF)

Антивирусы на хостинге расценивают потоковые POST-запросы из 1С (особенно с длинной XML строкой) как SQL-инъекцию или атаку ботов, потому что у 1С нестандартный User-Agent (заголовок браузера).

Решение:

Попросите техподдержку хостинга внести IP-адрес, с которого выходит в интернет ваша база 1С, в "Белый список" (Whitelist) их Firewall. Это уберет 99% 403-х ошибок при обмене.

Причина 2: Неверные права на файлы (CHMOD)

Скрипт 1c_exchange.php или директория, куда 1С складывает zip-архивы, имеет права только на чтение (например, 444 или 555). Хостинг вернет 403 при попытке записи файла. Установите права на папку обмена хотя бы в 755 или 775.

Не можете пробить защиту сервера для обмена?

Я, как DevOps инженер, помогу настроить связку 1С с Nginx/Apache на любом хостинге. Найду причину блокировок и настрою стабильный коннект.

Получить помощь техподдержки →

📚 Связанные статьи