2017-05-10 4 views
0

나는 overlocal 호스트를 테스트 할 때 잘 작동하는 간단한 WebRTC 응용 프로그램을 만들었습니다. 그러나 WEBRTC는 HTTPs가 없으면 브라우저에서 GetUserMedia를 실행하지 않으므로 보안 연결이없는 한별로 사용하지 않습니다. 따라서 SSL-TLS로 업그레이드하려고합니다. 다음은 옆에 내 두 응용 프로그램 측의 스크린 샷, 하나의 보안 ( 작동)WebRTC over HTTP 문제

enter image description here

다른 비 보안을 ( 작동하지 않음) 위에서 볼 수 있듯이, 로컬 호스트 '커넥트'동안이다 HTTPS가 '연결을 설정할 수 없습니다'. 저는 SSL을 처음 사용하기 때문에 이것은 간단한 것일 수 있습니다. 이것에 대해 좀 더 많은 것을 고맙게 생각할 것입니다.

나는 다음은 내 코드 조각은 enter image description here

아래 이미지 참조 안전하게 연결되어있는 자바 스크립트 내 HTTPS 서버를 알고있다. 어떤 도움을 크게 감상 할 수있다 :

SSL 클라이언트 - Client.JS

var connection = new WebSocket('wss://localhost:8443'), 

name = ""; 

비 보안 클라이언트 - Client.JS

var connection = new WebSocket('ws://localhost:8888'), 

    name = ""; 

비보안 JS 서버 - 인덱스를. JS

var WebSocketServer = require('ws').Server, 

wss = new WebSocketServer({ port: 8888 }), 

users = {}; 
wss.on('connection', function (connection) { 
connection.on('message', function (message) ..... 

안전 JS 서버 - 보안 원점으로 localhost을 취급 개발자 편리 크롬 SSLindex.JS

Var https = require('https'), 

fs = require('fs'), 

express = require('express'), 

    app = express(); 


var wss = https.createServer({ 
key: fs.readFileSync('server.key'), 

cert: fs.readFileSync('server.crt'), 

ca: fs.readFileSync('ca.crt'), 

requestCert: true, 

rejectUnauthorized: false 
}, app).listen('8443', function() { 
console.log("Secure Express server listening on port 8443"); 
}); 

app.use("/", function(req, res, next) 
{ 
res.send("index.js is working!"); 

    }); 

답변

2

.
http://localhost 또는 ws : // localhost를 사용하는 경우 SSL이 관련되어 있지 않으므로 오른쪽 스크린 샷에서 제대로 작동합니다.
https 또는 wss의 경우 브라우저는 SSL 인증 기관을 확인합니다.

은 WSS와 웹 소켓 연결 문제를 해결하려면 : // localhost를 :에게 8443/

주위 임시 작업 : 오픈 https://localhost:8443/ URL 및 Adavced는 =>
실제 솔루션을 계속 클릭하여 브라우저 예외를 허용 : 지정 노드 서버 (node.kali2016.com)의 도메인 이름과 인증 된 SSL 인증서를 사용하여 노드를 구성하십시오. 그런 다음
var connection = new WebSocket('wss://yourdomainname:8443')

0


var connection = new WebSocket('wss://localhost:8443')
을 대체 내가 localhost를 대신 내 서버의 IP 주소를 사용하여 HTTPS를 통해 작업 내 EasyRTC 페이지를 얻을 수있었습니다.
So :
https://localhost:8443/ 작동하지 않았습니다. 반환 된 연결 종료 오류입니다.
https://192.168.0.113:8443/ 제대로 작동하고 필요한대로 웹 페이지를 보여주었습니다.

다른 사람에게도 적용됩니다.