Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: HTTPСоединение + SSL. Код состояния 500
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Inkognito
Необходимо настроить получение данных по защищенному соединению SSL.
Исходные данные: есть работающий ресурс (без SSL) и тестовый, на который планируется переход, который защищен SSL.

РесурсНаСервере = Строка("НекотораяСтрока");
РесурсБезSSL = "НекоторыйРесурс1"; //сейчас работаем с ним
РесурсСSSL = "НекоторыйРесурс2";  //тестовый, на который планируется переход
        
    //-------------------Без SSL
    Сообщить("-------ТЕСТ БЕЗ SSL-------");
    Соединение = Новый HTTPСоединение(НекоторыйРесурс1);
    Запрос = Новый HTTPЗапрос(РесурсНаСервере);
    HTTPОтвет = Соединение.Получить(Запрос);
    Если HTTPОтвет.КодСостояния=Число(200) Тогда
        Сообщить("ОК!");
    Иначе
        Сообщить("НЕ ОК!");
Сообщить("КодСостояния=" + HTTPОтвет.КодСостояния);
    КонецЕсли;

    //-------------------SSL
    Сообщить("-------ТЕСТ SSL-------");
    ssl = Новый ЗащищенноеСоединениеOpenSSL;
    Соединение = Новый HTTPСоединение(РесурсСSSL,,,,,,ssl);
    Запрос = Новый HTTPЗапрос(РесурсНаСервере);
    
    HTTPОтвет = Соединение.Получить(Запрос);
    Если HTTPОтвет.КодСостояния=Число(200) Тогда
        Сообщить("ОК!");
    Иначе
        Сообщить("НЕ ОК!");
        Сообщить("КодСостояния=" + HTTPОтвет.КодСостояния);
    КонецЕсли;


необходимо зарегистрироваться для просмотра ссылки
-------ТЕСТ БЕЗ SSL-------
ОК!
-------ТЕСТ SSL-------
НЕ ОК!
КодСостояния=500


Википедия гласит "500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса. Появился в HTTP/1.0."
Подскажите, куда копать?
Vofka
Эта ошибка может говорить о чем угодно. У меня на этой неделе была такая же ошибка. Работало нормально, а потом хлоп и ошибка 500 в какой-то момент. В итоге интернет провайдер что-то у себя переконфигурировал и пошло нормально. Так же обратите внимание, что объект ЗащищенноеСоединениеOpenSSL может создаваться разными с пособами, с указанием разных параметров (в СП, кажется, 4 примера создания описано).
logist
Цитата(Inkognito @ 15.12.17, 12:57) необходимо зарегистрироваться для просмотра ссылки
Подскажите, куда копать?

Логи вэбсервера копать
Flexy
А так?
ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено);


Соединение = Новый HTTPСоединение(РесурсСSSL,443,,,,,ssl);
Inkognito
Похоже, заработало, по крайней мере ошибок не выдает, и результат возвращает.
А как проверить, что защита и правда стала надежней? Админ со своей стороны все сделал, я со своей стороны в коде сделал.
Тестировщика у нас по SSL нет 32000000.gif Хакера приглашать, - с распиской о неразглашении? crazy.gif
logist
Цитата(Inkognito @ 21.12.17, 14:59) необходимо зарегистрироваться для просмотра ссылки
Хакера приглашать, - с распиской о неразглашении?

Да. Но в целом вопрос философский. Всё зависит от ценности информации, если её действительно захотят получить - получат, и никакая ваша безопасность от этого не убережет, а если вы наращиваете безопасность потому что - на всякий случай/шоб было, то это просто утешение самих себя, и проводить какие-то тесты, как по мне, не имеет смысла.
Мичман Харитонов
Новую тему не начинаю, потому что ситуация точно такая же.
Сайт переводят с HTTP на HTTPS.
Переделываю обработку обмена.
Запрос
ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
        HTTP = Новый HTTPСоединение(Сайт,443,,,,ssl);  //подключение
        HTTPЗапрос = Новый HTTPЗапрос("cml/1c_exchange.php?type=catalog&mode=import&filename=offers.xml");
        HTTPОтвет = HTTP.Получить(HTTPЗапрос, );

При выполнении выбрасывает ошибку "Ошибка при вызове конструктора (HTTPСоединение)
HTTP = Новый HTTPСоединение(Сайт,443,,,,ssl); //подключение
по причине:
Несоответствие типов (параметр номер '6')
"
Подскажите, пожалуйста, чем ему тип не тот?
Petre
Мичман Харитонов @ Today, 11:40 необходимо зарегистрироваться для просмотра ссылки ,
Еще одну запятую...

HTTP = Новый HTTPСоединение(Сайт, 443,,,,, ssl);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.