【发布时间】: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