Подтвердить что ты не робот

Ошибка обхода SSL-сертификата в jQuery и AJAX

Я новичок в jQuery/AJAX. У меня есть небольшое приложение для тестирования кукол, на котором есть кнопка. При нажатии кнопки происходит соединение с сервером, расположенным в том же домене, чтобы получить некоторые данные и предупредить его.

Проблема. Мое приложение не может подключиться к серверу. Следующий снимок экрана - из инструментов разработчика в google chrome.

eror

Сервер имеет свой собственный сертификат. Если я подключаюсь к серверу через веб-браузер, я получаю предупреждение о сертификате SSL, как показано ниже.

ssl-error

Если я нажму на продолжение, а затем войду на сервер, после этого мое приложение также сможет удалить данные с сервера. (Если я нажму кнопку на своем веб-приложении, он оповещает данные, полученные с сервера.)

Вопрос: Есть ли какое-либо обходное решение для этого, могу ли я обходить эту ошибку? Почему он работает, как только я зашел на сервер через веб-браузер? Мое приложение будет использоваться локально в том же домене, и оно не является общедоступным.

Код jQuery: у меня есть этот код:

$('#mybutton').click(function(){
    $.ajax({
        type: "GET",
        url: "https://192.168.150.33/Api/loc?jsonpCallback=myCallback",
        dataType:"jsonp",
        async: false,
        beforeSend: function (request){
            request.withCredentials = true;
            request.setRequestHeader("Authorization", "Basic " + btoa('admin' + ":" + 'password'));
            },
        success: function(response){
                alert('hi');
            },
    });
});
function myCallback(response){
        data= JSON.stringify(response)
        alert(data)

Здесь - это сообщение, в котором рассматривается одна и та же проблема. Насколько я понял этот пост, в нем нет решения. Любые предложения будут полезны. Благодаря

4b9b3361

Ответ 1

Вы не можете программно обходить поведение ошибки/предупреждения SSL, реализованное браузером, если бы вы могли полностью лишить этот уровень безопасности.

Если вы делаете это локально/в среде Windows, просто добавьте самоподписанный сертификат в доверенное хранилище.

Кроме того, сертификат (обычно) выдается доменному имени, а не IP-адресу, поэтому вам нужно будет сделать то же самое в своем вызове Ajax.