GET https://mydomain.server:6001 / socket.io / socket.io.js net :: ERR_CONNECTION_REFUSED

时间:2017-03-17 08:07:58

标签: node.js laravel socket.io port laravel-echo

我第一次尝试使用socket.io。 我正在使用Laravel 5.4,Laravel Echo和NodeJs server for Laravel Echo broadcasting with Socket.io.

我设法让它在我的本地工作,因为它应该工作。但是在服务器上我得到了 错误

GET https://mydomain.server:6001/socket.io/socket.io.js net::ERR_CONNECTION_REFUSED

我之前运行过服务器。我写了正确的地址。 enter image description here

可能是浏览器无法访问该端口或其他什么?

我还试图访问该文件 curl -X GET https://mydomain.server:6001/socket.io/socket.io.js命令。

但是得到了 curl: (35) gnutls_handshake() failed: The TLS connection was non-properly terminated

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。

只需在 laravel-echo-server.json

中设置protocol,sslCertPath和sslKeyPath参数
"protocol": "https",
"sslCertPath": "path_to/server.crt",
"sslKeyPath": "path_to/server.key"

答案 1 :(得分:0)

  

可能这会对你有所帮助。   首先,当您连接到套接字并且网站安装了ssl时,请使用:

 socket = io.connect('http://example.com:port', {'force new connection': true, 'secure': true}); 
  

在客户端的脚本部分中包含上述部分。

     

其次在服务器端,例如:server.js说使用

var https = require('https');
var server = https.createServer({
     key : fs.readFileSync('./sslkey.key'),
     cert : fs.readFileSync('./ssl_certificate.crt')
},app);