jQuery 및 AJAX의 SSL 인증서 무시 오류
저는 jQuery/AJAX 신입사원입니다.나는 버튼이 있는 작은 동공 검사 애플리케이션을 가지고 있습니다.단추를 클릭하면 동일한 도메인에 있는 서버에 연결되어 일부 데이터를 가져오고 이를 경고합니다.
문제:내 애플리케이션이 서버에 연결할 수 없습니다.다음 스크린샷은 구글 크롬의 개발자 도구에서 나온 것입니다.
서버에는 자체 서명된 인증서가 있습니다.웹 브라우저를 통해 서버에 연결하면 아래와 같은 SSL 인증서 경고가 표시됩니다.
를 누른 후 서버에 로그인하면 응용프로그램도 서버에서 데이터를 가져올 수 있습니다.(웹 앱의 버튼을 클릭하면 서버에서 가져온 데이터에 대해 알려줍니다.)
질문:이 문제에 대한 해결 방법이 있습니까? 이 오류를 무시할 수 있습니까?웹 브라우저를 통해 서버에 로그인하면 작동하는 이유는 무엇입니까?내 앱은 같은 도메인에서 로컬로 사용될 것이고 공용 앱이 아닙니다.
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)
여기 같은 문제를 다루는 게시물이 있습니다.제가 이 게시물을 이해한 이상 해결책이 없습니다.어떤 제안이든 도움이 될 것입니다.감사해요.
브라우저에서 구현한 SSL 오류/경고 동작을 프로그래밍 방식으로 바이패스할 수 없습니다. 이 경우 해당 보안 계층이 완전히 비활성화됩니다.
로컬/윈도우즈 도메인 환경에서 이 작업을 수행하는 경우 자체 서명된 인증서를 신뢰할 수 있는 저장소에 추가하기만 하면 됩니다.
또한 인증서는 (일반적으로) IP 주소가 아닌 도메인 이름으로 발급되므로 Ajax 호출에서도 동일하게 발급해야 합니다.
Ajax 호출에 추가하면 이 문제를 해결할 수 있습니다.
beforeSend: function (request) {
request.withCredentials = false;
}
권장되는 방법은...
언급URL : https://stackoverflow.com/questions/25723415/bypassing-ssl-certificate-error-in-jquery-and-ajax
'programing' 카테고리의 다른 글
트랜잭션 로그 없이 SQL 서버 DB 복원 (0) | 2023.08.07 |
---|---|
int 값이 10 미만이면 문자열 두 자리 숫자로 변환됩니다. (0) | 2023.08.07 |
범위 검색 대 고유 검색 대 건너뛰기 검색 (0) | 2023.08.07 |
MYSQL - 날짜/초 (0) | 2023.08.07 |
Angular2가 있는 서비스에서 구성 요소의 변수 변경 업데이트 (0) | 2023.08.07 |