【发布时间】:2020-04-19 21:55:46
【问题描述】:
我刚刚使用 Let's Encrypt SSL 证书(非自签名)在本地服务器(Xampp 环境,Windows)上创建了一个 PHP Web 服务器,因此我的网站https://example.it 看起来像是每个浏览器的有效证书。 我可以通过标准端口使用 http:// 和 https:// 导航到它。
现在我正在实现用于创建网络聊天的 php 套接字,但是如果我通过 HTTP 使用不安全的网络套接字协议:
ws://example.it:8090/chat/php-socket.php
它有效。
如果我通过 HTTPS 使用安全 Web 套接字协议:
wss://example.it:8090/chat/php-socket.php
我在建立连接时收到错误 net::ERR_SSL_PROTOCOL_ERROR
如果有人需要,这是我的代码:
$(document).ready(function(){
var websocket = new WebSocket("wss://example.it:8090/chat/php-socket.php");
websocket.onopen = function(event) {
showMessage("<div class='chat-connection-ack'>Connssione stabilita.</div>");
}
websocket.onmessage = function(event) {
var Data = JSON.parse(event.data);
console.log(Data);
showMessage("<div class='"+Data.message_type+"'>"+Data.message+"</div>");
$('#chat-message').val('');
};
});
【问题讨论】:
-
在你的代码中包含证书curl.haxx.se/docs/caextract.html 这个例子会有所帮助:github.com/websockets/ws
-
@Dilek 我只能使用 https,所以不需要验证它。我的 Js 对象“WebSocket”没有包含 cert .pem 的选项
-
正如我在第一条评论中所说,需要 SSL_PROTOCOL。这是你的答案:stackoverflow.com/questions/23404160/…
标签: php ssl https websocket xampp