Tôi đã tạo một trang web PHP bằng cách sử dụng Ratchet. Websocket này đang chạy trên cổng 8080
của máy chủ nội bộ của tôi 10.0.4.160
.Không thể kết nối với websocket
Tôi đang cố gắng kết nối với trang web đã bật SSL "aka sử dụng giao thức https".
Khi cố gắng kết nối với biểu mẫu web, trình duyệt FireFox, tôi gặp vấn đề bảo mật từ trình duyệt vì tôi đang trộn giữa kết nối bảo mật/không được bảo mật. Đây là lỗi mà tôi thấy trong bảng điều khiển của javascript.
SecurityError: The operation is insecure.
Để khắc phục các vấn đề an ninh Tôi tạo ra một proxy stunnel cho phép tôi để chấp nhận các kết nối trên 10.0.4.160:58443
và kết nối nó với cổng 127.0.0.1:8080
. Đường hầm an toàn này sẽ cho phép tôi giữ kết nối của tôi với websocket được bảo mật và bỏ qua kiểm tra bảo mật của trình duyệt.
Tuy nhiên, mỗi khi tôi cố gắng để kết nối với WebSocket tôi nhận được một lỗi
WebSocket connection to 'wss://10.0.4.160:58443/' failed: Error in connection establishment: net::ERR_TIMED_OUT
Đây là kịch bản jQuery được sử dụng để kết nối với WebSocket
<script>
$(function(){
if ("WebSocket" in window)
{
var conn = new WebSocket('wss://10.0.4.160:58443');
conn.onopen = function(e) {
console.log("Connection established!");
showMessage('Connected', 0);
};
conn.onmessage = function(e) {
console.log(e.data);
showMessage(e.data, 1);
};
conn.onclose = function(e) {
console.log(e.code);
console.log(e.reason);
};
conn.onerror = function(e) {
console.log(e);
};
} else {
console.log('Your browser does not support Websocket!');
}
function showMessage(msg, append){
if(append){
$('#status').append('<br>' + msg);
return;
}
$('#status').text(msg);
}
});
</script>
Đây là hiện tại của tôi cấu hình stunnel
[websockets]
client = yes
accept = 58443
connect = 8080
verify = 2
CAfile = ca-certs.pem
debug = 7
OCSPaia = yes
Làm cách nào để kết nối với websocket từ trình duyệt của tôi? Cảm ơn bạn
Giảm bình chọn cho đến khi chúng tôi thấy máy chủ PHP của bạn được thiết lập với ratchet –