Что случилось?
При обмене данными с сайтом всё зависает на этапе загрузки файла на сервер. На сервере в папке /upload/1c_exchange/ файл появляется, после чего процесс http зависает на 100% загрузке процессора и может висеть так часами. После прибития процесса обмен завершается с ошибкой:
Цитата |
---|
Техническая информация: Выгружено товаров: 12 Выгружено картинок: 0 Выгружено файлов: 0 Выгружено предложений: 12 Выгрузка товаров успешно завершена Выгружено заказов: 483 {Обработка.ОбменССайтом(320)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет: server returned nothing (no headers, no data) Произошла ошибка: . По причине: Отправка файла на сервер: Получен пустой ответ сервера. Не удалось получить ответ сервера. Файл не отправлен (C:\Documents and Settings\admin\Local Settings\Temp\1cbitrix\1cbitrix-c8bf624c-c717-42c3-adb7-7f103757dc58.xml). Обмен не выполнен Обмен заказами завершен с ошибками!!! |
Как я этого добился?
1. Ограничил доступ в /bitrix/admin http-авторизацией.
2. Создал в отдельной директории вне админки скрипт с include_once скрипта обмена данными:
3. Добавил дополнительный порт в httpd.conf и прописал для этого порта директорию со скриптом обмена данными из пункта 2 как корневую.
4. Внес изменения в настройки обмена с сайтом 1с.
Кто-то обязательно спросит, поэтому:
Зачем я это сделал?
1. Для безопасности. Недавно взломали через phpmyadmin, решил перестраховаться.
2. Так как 1С не поддерживает http-авторизацию
3. Чтобы обойти nginx с ограниченным таймаутом, которого не хватает скриптам обмена.