Настройка распределенной разработки в 1С часто требует организации общего доступа к хранилищу конфигурации. Использование протокола HTTP через веб-сервер (например, IIS) является стандартом, однако на этом пути часто возникают препятствия, связанные с сетевой инфраструктурой и безопасностью. Типичная ситуация: локально всё работает идеально, но при попытке подключения из сети пользователь получает пугающее сообщение: «Доступ к кэшу запрещён. Извините, Вы не можете запросить адрес из этого кэша до тех пор, пока не пройдёте аутентификацию». При этом в ошибке может упоминаться стороннее ПО, например, squid/4.15.
В этой статье мы подробно разберем, почему возникает эта ошибка, как прокси-серверы мешают работе Конфигуратора и какие шаги необходимо предпринять для восстановления стабильной связи с хранилищем.
Первым делом проанализируем текст ошибки. Упоминание squid однозначно указывает на то, что запрос от вашего компьютера до веб-сервера IIS не идет напрямую. Вместо этого он перехватывается промежуточным прокси-сервером вашей организации. 1С:Предприятие использует системные настройки WinHTTP для работы по протоколу HTTP. Если в настройках Windows указан прокси-сервер, Конфигуратор будет пытаться прогнать трафик хранилища через него.
Проблема в том, что взаимодействие с хранилищем 1С — это не просто скачивание веб-страниц. Это сложный обмен данными с использованием специфических HTTP-заголовков и методов. Прокси-сервер (в данном случае Squid) воспринимает эти запросы как неавторизованные или подозрительные и блокирует их, выдавая ошибку кэша. Даже если в браузере обычные сайты открываются нормально, для работы 1С требуются иные условия.
Рассмотрим самый быстрый и действенный способ, который помог решить проблему в исходном обсуждении. Если сервер, на котором поднят IIS и сервер хранилища, не состоит в домене, клиенты из локальной сети могут испытывать трудности с разрешением имен и маршрутизацией запросов.
Выясним, как заставить систему обращаться к серверу напрямую, минуя прокси-сервер:
C:\Windows\System32\drivers\etc\ и откроем файл hosts.10.40.68.172 ИмяВашегоСервера (где IP-адрес соответствует вашему серверу хранилища).Почему это работает? Когда вы прописываете соответствие IP и имени в файле hosts, операционная система часто классифицирует такой узел как локальный или приоритетный, что позволяет обойти некоторые механизмы автоматического определения прокси (WPAD). Однако это лишь «костыль». Разберем более правильные системные настройки.
Поскольку 1С опирается на системные настройки интернета, нам необходимо явно указать Windows, что адреса нашего внутреннего сервера не должны проходить через прокси. Разберем по шагам:
10.40.68.172; MyRepoServer.Эти действия гарантируют, что запросы к http://MyRepoServer/... пойдут напрямую к IIS, и Squid не будет пытаться их фильтровать.
Если после исключения прокси ошибка сменилась на «401 Unauthorized» или «403 Forbidden», необходимо проанализировать настройки самого веб-сервера IIS. Для публикации хранилища 1С рекомендуются специфические параметры.
Посмотрим на настройки виртуального каталога в диспетчере IIS:
repository).wsisapi.dll. Если вы включите «Проверку подлинности Windows», то IIS будет требовать доменную авторизацию еще до того, как запрос попадет в 1С.Часто проблема «Доступа к кэшу» или «Ошибки аутентификации» маскирует банальную нехватку прав на файловую систему сервера. Выясним причину, проверив права учетной записи, от которой работает веб-сервер.
Обычно IIS использует пул приложений, работающий от имени ApplicationPoolIdentity или NetworkService. Этим учетным записям (или группе IIS_IUSRS) необходимы полные права на следующие объекты:
1cv8ddb.1cd и прочие.C:\Windows\Temp. Это критически важно! При передаче данных через HTTP 1С создает временные файлы именно здесь. Если у IIS нет прав на запись/удаление в этой папке, подключение сорвется с ошибкой доступа.wsisapi.dll.Проанализируем содержимое файла default.vrd, который находится в папке публикации на веб-сервере. Для корректной работы через сервер хранилища (tcp_repository.dll) структура должна быть следующей:
<?xml version="1.0" encoding="UTF-8"?>
<repository connect="tcp://10.40.68.172:1542"/>
Если же вы публикуете хранилище напрямую как файл (без использования сервера хранилища), строка будет выглядеть иначе:
<repository connect="file://C:/Storage1C/TestRepo"/>
Убедитесь, что в параметре connect указан верный путь или адрес, и что версия платформы 1С в настройках обработчика IIS (Handler Mappings) совпадает с версией, в которой создавалось хранилище.
Мы рассмотрели комплексный подход к решению проблемы аутентификации в хранилище 1С. Основная причина чаще всего кроется во внешней среде — прокси-серверах, которые не умеют корректно обрабатывать специфический трафик 1С. Настройка файла hosts или списка исключений в свойствах браузера позволяет «спрятать» трафик 1С от прокси-сервера. Дополнительная проверка прав на папку C:\Windows\Temp и настройка анонимного доступа в IIS завершают процесс настройки, делая работу с хранилищем стабильной и быстрой.