2013-07-19 3 views
0

SignalR 0.53과 OWIN을 사용한 자체 호스팅을 사용하여 HTTPS 클라이언트가 HTTPS가 아닌 로컬 호스트 포트에 성공적으로 연결할 수있었습니다.SignalR HTTPS 클라이언트

이제 SignalR 1.1.2로 업그레이드했습니다.

비 -HTTPS 클라이언트가 성공적으로 연결되면 도메인 간을 사용하도록 설정했습니다. 그러나 이제는 HTTPS 클라이언트가 차단 된 것 같습니다.

참고 : IE10도 사용해야합니다. 이 콘솔에 나타납니다

SEC7111: HTTPS security is compromised by http://localhost:9100/signalr/hubs 

가와 경고 "SignalR : 협상 요청시 오류 : 정의되지 않은"가 표시됩니다.

어떻게 해결할 수 있습니까?

답변

0

결국 수정 프로그램을 찾기 위해 관리합니다. 보안 문제는 붉은 청어였다. IE10에 정상적인 상황에서는 그것은 jsop 사용하고이 메시지를 줄 것이다 :

"SignalR이 브라우저가 CORS를 지원하지 않기 때문에 JSONP 사용"

그러나 이런 일이되지 않았습니다이 특정 클라이언트를. 연결시 명시 적으로 jsonp를 사용하여 문제를 해결했습니다.

$.connection.hub.start({ jsonp : true },function() { ... 
1

이것은 단지 표준 mixed-mode 연결 차단입니다. HTTPS 페이지에서 HTTPS가 아닌 모든 리소스가 HTTPS가되어야합니다. 그렇지 않으면 보안 페이지에 있다고 생각하더라도 분명히 데이터를 전송할 수 있습니다. 따라서 브라우저 (IE는 최소한)는 이러한 형태의 혼합 모드 통신을 허용하지 않음으로써 사용자를 보호합니다. 페이지가 HTTPS 인 경우 SignalR 연결도 HTTPS 여야합니다.

+0

이미 IE에서 혼합 모드를 사용할 수 있습니다. 그게 문제의 원인이 될 수 없습니다. – devlish

+0

음, 그게 SEC7111 오류가 말하는 것입니다. 당신은 내 말을 따를 필요가 없습니다 : http://www.bing.com/search?q=SEC7111. –

+0

예, 이해합니다. 이전 설정에서 왜 작동하는지에 대해 의아해합니다. 나는 혼합 모드가 충분할 것이라고 생각했지만 명확하지는 않을 것이다. – devlish