Node.js nodejsexpress强制保持在http上

Node.js nodejsexpress强制保持在http上,node.js,nodejs-server,Node.js,Nodejs Server,在一个NodeJs应用程序上工作,我想欺骗浏览器,以便保留http,最新版本的浏览器继续将其重定向到https 我知道这不是推荐的,但它只适用于PoC,因此没有重大问题,没有不安全的通信 var port = 80; server.listen(port, function () { console.log('webapp: listening at port %d', port); }); // Routing const currentDirectory = pa

在一个NodeJs应用程序上工作,我想欺骗浏览器,以便保留http,最新版本的浏览器继续将其重定向到https

我知道这不是推荐的,但它只适用于PoC,因此没有重大问题,没有不安全的通信

var port = 80;

server.listen(port, function () {
    console.log('webapp: listening at port %d', port);
});

    // Routing
    const currentDirectory = path.join(__dirname, '../', 'webapp');
    app
        .get('/', applyTemplate('index.html'))
        .get('/index.html', applyTemplate('index.html'))
        .use(express.static(currentDirectory))

我可以欺骗浏览器吗?在不创建ssl证书的情况下处理https连接并将其重定向到http。

您需要使用openssl创建自签名证书,然后使用它。 否则,现代浏览器会试图通过阻止某些操作来保护您。这些检查非常重要,您应该知道它们的存在,以便编写正确且有效的代码。如果您开始更改浏览器行为,您可以轻松地在HTTPS和HTTP之间发送密码或敏感数据。我可以问你为什么要跳过那些支票吗? 大多数情况下,一个完善的测试套件足以以正确的方式处理这些情况,并从浏览器获得正确的响应

我附上一个例子,你可以在=>

openssl req-nodes-new-x509-keyout server.key-out server.cert var express=需要“express” var fs=需要“fs” var https=需要“https” var app=express 应用程序获取“/”,函数请求,res{ res.发送“你好,世界” } https.createServer{ key:fs.readFileSync'server.key', 证书:fs.readFileSync'server.cert' },应用程序 .listen3000,函数{ console.log'示例应用程序正在端口3000上侦听!转到https://localhost:3000/' } 把这个倒过来: