【问题标题】:I need to secure my node js website to HTTPS running on the default 80 port of HTTP我需要将我的节点 js 网站保护到在 HTTP 的默认 80 端口上运行的 HTTPS
【发布时间】:2020-09-12 10:48:59
【问题描述】:

我在 ionos 主机上运行我的服务器,并在默认端口 80 上执行 nodejs。 我不知道如何为它启用 HTTPS。 以下是我的示例节点 js 服务器创建代码:

const Https = require('https');
const fs = require('fs');
const httpsServer = Https.createServer({
    key: fs.readFileSync("private.key"),
    cert: fs.readFileSync("Dev-2020-09-12-013930.cer")
}, app);
var io = require('socket.io').listen(Https);

global.SOCKET = io;
const ip = require('ip');
console.log('websocket server start.' + ' ipaddress = ' + ip.address() );

// const socket = io('http://localhost:5000');
httpsServer.listen(80, function () {
    console.log('Server port: ' + port);
});

我已生成证书并添加了它们。在运行服务器时,它会显示服务器已启动但未在浏览器上加载的消息。

【问题讨论】:

    标签: node.js ssl https server ssl-certificate


    【解决方案1】:

    尝试添加这些代码行,看看是否在浏览器中显示“Hello”文本。

    https.get("/", (req, res) => {
        res.send("Hello");
    });
    

    如果这不起作用,请尝试这样做

    httpsServer.get("/", (req, res) => {
        res.send("Hello");
    });
    
    

    编辑
    查看官方文档https://nodejs.org/api/https.html

    【讨论】:

    • 重新运行服务器,在控制台上启动服务器。但尝试从浏览器运行时不运行任何东西
    • 你部署到你的平台了吗?证书不适用于 localhost。
    • 是的,它在直播平台上,我想在我的 IP 上启用 HTTPS
    • 我建议查看此链接。 nodejs.org/api/https.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2012-02-20
    • 2019-05-13
    • 2013-01-27
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多