【问题标题】:redirect from http to https on a node.js server在 node.js 服务器上从 http 重定向到 https
【发布时间】:2021-07-11 16:51:31
【问题描述】:

我正在使用 node.js 和 socket.io 为浏览器制作一个小型多人游戏。我不熟悉整个 HTTP 和 HTTPS 的东西。

目前我在端口 3000 上为游戏使用 Node.js 服务器。通过此尝试,我一次只能托管一个服务器。 http 或 https 服务器。问题是,浏览器总是尝试访问 http 服务器,但它不安全。

所以我的问题是:我可以以某种方式将客户端重定向到 https 吗?或者有没有办法完全删除端口并让它作为我的 Apache for Ubuntu 的页面运行(如 https://example.com/game)?

【问题讨论】:

    标签: node.js apache ubuntu


    【解决方案1】:

    首先要确定您是否在 HTTP 中

    例子:

    const url = new URL('http://example.com')
    console.log(url.protocol) // output: "http:"
    

    然后转发到HTTPS,只需重定向。

    res.writeHead(301, { Location: `https://${req?.headers.host}/${path}` });
    

    【讨论】:

    • 问题是,我无法在同一个端口上提供两台服务器。我找不到在 3000 上提供 http 和 https 的解决方案,因此其中一个当前收到错误消息,服务器拒绝了请求
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多