【问题标题】:How to make APIs on server secured (HTTPS) with cloudflare如何使用 cloudflare 使服务器上的 API 安全(HTTPS)
【发布时间】:2019-07-16 23:13:32
【问题描述】:

我刚刚使用 CloudFlare 的 SSL 证书保护了我的域。而且效果很好!

我仍然有一个问题,我有一个快速服务器,我正在使用 myIpAddress:2053/api/request 上的 API 服务,而我生成的证书不适用于它。

它仍然让我认为 API 不安全,我必须在 Google Chrome 和其他浏览器上使用 (Advanced => Proceed to ------- (unsafe))。

这是我的代码的一个高峰。

const privateKey = fs.readFileSync("/etc/ssl/private/key.pem", “utf8”); //CF’s SSL key
const certificate = fs.readFileSync("/etc/ssl/certs/cert.pem", “utf8”); //CF’s SSL cert
let credentials = { key: privateKey, cert: certificate };
let httpsServer = https.createServer(credentials, app);
httpsServer.listen(PORT, () => {
console.log(HTTPS started on port ${PORT});
});

为了与前端通信,我的 API 也必须是安全的。它应该类似于:**https**://myIpAddress:2053/api/request

我的服务器在 DigitalOcean 上,使用 Ubuntu 作为操作系统和 NGINX。

【问题讨论】:

  • 不要在 HTTPS URL 中使用 IP 地址。虽然从技术上讲,您可以拥有涵盖 IP 地址的 X.509 证书,但在标准情况下,证书将涵盖主机名,而不是 IP 地址,因此永远不会匹配使用 IP 地址的 HTTPS URL。
  • 这有帮助!非常感谢

标签: ssl https digital-ocean cloudflare


【解决方案1】:

当浏览器与服务器进行 ssl 握手时,浏览器会检查域与 ssl 证书中的 Subject CN 是否匹配。

这是查看证书的命令:

openssl x509 -inform PEM -text -in ssl.crt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2013-09-26
    • 1970-01-01
    相关资源
    最近更新 更多