[英]Installing SSL On Socket.IO Node.js
我購買了GoDaddy Standard SSL證書,並將其安裝在http://mysite.com上 。 現在https://mysite.com運作良好。
現在,我要安裝在http://mysite.com:3000上運行的socket.io的證書
我嘗試通過以下方式連接SSL:
var socket = io.connect('https://www.mysite.com:3000', {secure:true});
但它不起作用。 這是server.js
var io = require('socket.io'),
connect = require('connect'),
mysql = require('mysql');
var app = connect().use(connect.static('../public_html/node/'));
app.listen(3000);
var server = io.listen(app);
server.sockets.on('connection', function(socket) {
socket.emit('getid', {message: "A New user is online"});
}
和客戶端index.html
<script type = "text/javascript" src = "http://www.mysite.com:3000/socket.io/socket.io.js"></script>
<script type = "text/javascript">
var socket = io.connect('http://www.mysite.com:3000');
</script>
有什么建議么?
您的客戶端正在連接到http
,請嘗試將客戶端index.html連接到https
。
此外,您需要加載證書。
const crypto = require('crypto'),
fs = require("fs"),
http = require("http");
var privateKey = fs.readFileSync('privatekey.pem').toString();
var certificate = fs.readFileSync('certificate.pem').toString();
var credentials = crypto.createCredentials({key: privateKey, cert: certificate});
var handler = function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
};
var server = http.createServer();
server.setSecure(credentials);
server.addListener("request", handler);
server.listen(8000);
創建您的自簽名.pem
文件。 (要獲得獎勵積分,請由知名公司簽署您的.csr
。)
openssl genrsa -out privatekey.pem 2048
openssl req -new -key privatekey.pem -out certrequest.csr
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.