|
Проблема с публикацией http-сервиса на CENTOS7 | ☑ | ||
---|---|---|---|---|
0
Rizhij_Nikitos
28.11.18
✎
14:41
|
Доброго времени суток, уважаемые форумчане. Возникла проблема при публикации самописного http-сервиса для БП 3.0. Изначально сервис был написан и обкатан на локальной машине с виндой, все работало, публиковалось, доступ извне работал правильно. Развернули в ЦОДе, начались проблемы.
Входные данные: 1С: 8.3.10.2667 х64, БП 3.0.64.34, серверная БД на postgres 9.6. Веб-сервер: Apache 2.4 x64 ОС: CENTOS7 в ЦОДе Какие настройки выполнены и что пробовали: Установлены расширения веб-сервера для 1С, х64, so для апача версии 2.4 лежит в папке с 1С. У пользователя, под которым запускается апач и 1С есть доступ на чтение и выполнение всех файлов в этой папке. В .vrd схеме прописана авторизация под пользователем 1С, у которого есть полные права, а так же права на использование указанных http-сервисов. Пользователь заведен на латинице. Открыты порты 80, 1540, 1560-1591. Белый IP. В конфиге апача раскомментировано использование so для работы с ws, прописан алиас на виртуальное приложение. Схема совпадает с нотацией, описанной на its. Описание проблемы: Обращаемся к сервису и получаем ошибку: 1C:Enterprise 8 application error: The HTTP header contains invalid characters: [ Content-Length: 158] Гугл результатов не дает, либо они не в кассу. Пробовали убирать авторизацию из vrd схемы, браузер запрашивает логин пароль. После ввода получаем ту же ошибку. Есть ли у кого-то еще варианты куда копать и что можно сделать? Мы зашли в тупик. |
|||
1
sergeyspb13
28.11.18
✎
14:58
|
Так ошибка написана: The HTTP header contains invalid characters
смотри как настроен apache, мож utf-8 где-то не правильно прописан или логи смотреть надо, чего именно ему не нравится |
|||
2
Rizhij_Nikitos
28.11.18
✎
17:40
|
(1) В httpd.conf установлен AddDefaultCharset UTF-8
Есть еще какие-то настройки апача, которые отвечают за кодировку? Прологировал ответ 1Ски - доступ к сервису есть, запрос доходит, обрабатывается 1Ской и возвращается http-ответ следующего содержания: Заголовки: Content-Type=application/json;charset=utf-8 Content-Length=95 Код состояния: 418 Строка ответа: { "description": "В запросе отсутствует свойство: дата запроса, выполнение запроса прервано!" } Это ответ который формирую я своим сервисом. Все штатно. 1С передает управление апачу, после чего апач возвращает все ту же ошибку. Что интересно, если 1С вываливается с необработанной ошибкой, например деление на 0 сделать, приходит стандартное 1Совское исключение для веб сервера в котором написана ошибка 500 и ОписаниеОшибки. В логах апача в ошибках появляется запись с текстом нашего запроса и информацией: HTTP/1.1 400 248 "-" |
|||
3
mexanik_96
28.11.18
✎
18:13
|
пришей хидеры по кодировке
|
|||
4
mexanik_96
28.11.18
✎
18:15
|
+(3) 400 ошибка в синтаксисе(строке запроса)
|
|||
5
Garykom
гуру
28.11.18
✎
18:30
|
Проблема не в " "?
|
|||
6
Rizhij_Nikitos
28.11.18
✎
18:33
|
(3) HTTPОтвет.Заголовки["Content-Type"] = "application/json;charset=utf-8"
стоит (4) синтаксис поправил, вернулся нормальный ответ в нормальном виде, но почему не работает ошибка - непонятно. |
|||
7
Garykom
гуру
28.11.18
✎
18:39
|
Можешь показать что в запросе и что в ответе?
|
|||
8
Rizhij_Nikitos
28.11.18
✎
18:50
|
Мы победили. В общем на стороне 1С я не классифицировал ошибки и всегда в случае некорректного вопроса возвращал ошибку 418. На винде все было красиво и работало замечательно, а вот на линуксе если возвращать ошибку 418, вываливается какой то мусор. Типа проблема с заголовками. Хотя заголовки, кодировки, все в порядке. Возможно проблема в библиотеке wsap24.so, но это уже не наши проблемы. Поменяли код ошибки на 400 и все заработало.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |