Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将socket.io与HTTPS一起使用而不是HTTP

将socket.io与HTTPS一起使用而不是HTTP
EN

Stack Overflow用户
提问于 2015-02-01 09:44:27
回答 1查看 121关注 0票数 0

我正在使用自签名证书加密流量数据。我的/etc/nginx/ssl/ .crt.key文件位于

(some_file.keysome_file.crt)

我在http上使用socket.io,但试图将它转到https。以下是我的实际代码:

代码语言:javascript
运行
AI代码解释
复制
var formidable = require('formidable');
var express = require('express');
var fs = require('fs');

var privateKey = fs.readFileSync('../etc/nginx/ssl/some_file.key').toString();
var certificate = fs.readFileSync('../etc/nginx/ssl/some_file.crt').toString();

//how can I exclude this? (I have no intermediate, should I?)
var ca = fs.readFileSync('../intermediate.crt').toString();

var app = express.createServer({key:privateKey,cert:certificate,ca:ca });
var io = require('socket.io');

app.listen(3000, function(){
    //wait on 3000
});

app.post('/posts', function(req, res){
    //server communication
});

io.on('connection', function(socket){
    //wait on connections
});

客户端:

代码语言:javascript
运行
AI代码解释
复制
var socket = io(url + ":3000", { "secure": true, 'connect timeout': 5000 });

是这样做的正确方法吗?i将我的https代码建立在示例基础上,所以我怀疑这是否足够好(我知道它不够好,但应该很接近)。当我运行代码时,我还会得到一个错误no such file or directory '../etc/nginx/ssl/some_file.key'.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-01 16:28:16

我使用它的方式,虽然这是非常依赖于您正在使用的特快版本。这是3.4版的

代码语言:javascript
运行
AI代码解释
复制
var express = require('express')
, app = express()
,fs = require('fs')
,events = require('events');
...
var options = {
    key:    fs.readFileSync('/etc/nginx/ssl/some_file.key'),
    cert:   fs.readFileSync('/etc/nginx/ssl/some_file.crt')
};

/*
*Configuration
*
*/
var server = require('https').createServer(options, app), io = require("socket.io").listen(server);
var port = 8443;
var ipaddr = '0.0.0.0';

app.configure(function() {
    app.set('port', port);
    app.set('ipaddr', ipaddr);
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    ...
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28265731

复制
相关文章

相似问题

如何获取我的iOS应用程序的本地化语言?

125

我如何为不同的语言本地化iOS应用程序?

10

如何本地化不同语言的iphone应用程序?

10

iOS获得特定语言字符串的本地化版本。

24

Android本地化:为什么我的应用程序不本地化语言?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档