Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何在Express.js中强制SSL/https大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图创建一个中间件Express.js重定向所有非安全(端口80)流量到安全的SSL端口(443)。
不幸的是,在Express.js请求中没有信息,可以让您确定请求是通过http还是https。

一个解决方案是重定向每个请求,但这不是我的选择。

笔记:

>没有可能用Apache或其他东西处理它。它必须在节点中完成。
>在应用程序中只能启动一个服务器。

你会如何解决这个问题?

解决方法

然问题看起来一岁,我想回答,因为它可能会帮助别人。它实际上很简单与最新版本的expressjs(2.X)。首先使用此代码创建密钥和证书

openssl genrsa -out ssl-key.pem 1024

$ openssl req -new -key ssl-key.pem -out certrequest.csr
..一堆提示

$ openssl x509 -req -in certrequest.csr -signkey ssl-key.pem -out ssl-cert.pem

将cert和密钥文件存储在包含app.js的文件夹中。然后编辑app.js文件,并在express.createServer()之前编写以下代码

var https = require('https');
var fs = require('fs');

var sslkey = fs.readFileSync('ssl-key.pem');
var sslcert = fs.readFileSync('ssl-cert.pem')

var options = {
    key: sslkey,cert: sslcert
};

现在传递createServer()函数中的options对象

express.createServer(options);

完成!

大佬总结

以上是大佬教程为你收集整理的node.js – 如何在Express.js中强制SSL/https全部内容,希望文章能够帮你解决node.js – 如何在Express.js中强制SSL/https所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。