我正在尝试为Express.js创建一个中间件,将所有非安全(端口80)流量重定向到安全的SSL端口(443).不幸的是,Express.js请求中没有信息可以让您确定请求是通过http还是https.
一种解决方案是重定向每个请求,但这不是我的选择.
笔记:
使用Apache或其他方法无法处理它.它必须在节点中完成.
在应用程序中只能启动一个服务器.
你会如何解决这个问题?
我正在使用node.js的WS websocket库.目前我正在运行ws服务器.现在我想通过使用安全连接来保护这种连接,即通过实现wss协议以及库支持TLS连接.我搜索了一下,发现这个 简单明了:wss和这个wss带有自签名证书.
两者都不是很详细,第二个链接上的文章用自签名证书描述了wss.我想知道的是,只要创建自签名证书并部署到我的生产环境就足够了,还是我需要在创建HTTPS服务器时购买证书?
#!/usr/bin/env node
let debug = require('debug')('sbl');
let app = require('../app');
let config = require('config');
app.set('port', process.env.NODE_PORT || config.sbl.port || 15000);
let server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
console.logger.debug('Express server listening on port ' + server.address().port);
});
Run Code Online (Sandbox Code Playgroud)
这是到目前为止的样子并且可以正常使用http.
我如何使它与 https 一起使用?