我试图让https与socket.io和node.js一起使用。 如果我用http页面进行测试,我可以连接并且所有工作都可以。
当我尝试加载socket.io.js文件时出现此错误。
GET https://my ip number:3000/socket.io/socket.io.js net::ERR_INSECURE_RESPONSE
我这样链接
<script src="https://my ip number:3000/socket.io/socket.io.js"></script>
我的server.js文件看起来像这样
var fs = require('fs');
var https = require('https');
var http = require('https');
var express = require('express');
var app = express();
var options = {
key: fs.readFileSync('C:/Users/kund-admin/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/manmade.se-key.pem'),
cert: fs.readFileSync('C:/Users/kund-admin/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/manmade.se-chain.pem')
};
var serverPort = 3000;
var server = https.createServer(options, app);
var io = require('socket.io').listen(server);
var port = process.env.PORT || 3000;
server.listen(port);
console.log('Server running *:'+port);
//routing
app.get('/', function(req, res) {
res.sendFile(__dirname + '/messages.asp');
});
如果我在节点终端中运行server.js,我会得到“服务器运行:3000”,但是当我尝试加载索引页面时,我收到错误? 我不知道在这个阶段我做错了什么,我已经测试了很多我不记得我尝试过的东西了!
所以任何输入都非常感谢,谢谢!
解决!!
事实证明,你不能在socket.io.js文件的链接中拥有IP号码!
它必须是域名。
所以必须如此
<script src="https://somedomain.com:3000/socket.io/socket.io.js">