【问题标题】:getting public ssl certificate for node.js server获取 node.js 服务器的公共 ssl 证书
【发布时间】:2020-03-24 12:17:28
【问题描述】:

我在我的 aws ac2 linux 实例上运行 node.js express 服务器。我需要通过 https 公开它,以便与从中提取数据的反应应用程序正常工作。我能够生成自己的 ssl 证书,但它不会被其他用户识别,并且客户端应用程序将出现错误。

您能否解释一下我如何才能为节点服务器获取公共 ssl 证书。服务器使用 xxx.xx.xx.xx:4500/endpoint 之类的 IP 地址。 Aws 似乎提供 ssl,但前提是您为其负载均衡器付费,而我不想这样做。

有没有办法验证我使用 openssl 生成的证书,以便我可以公开使用它?

这是我的基本设置:

const express = require('express');
const cors = require('cors');
const mysql = require('mysql');
const moment = require('moment');
var fs = require('fs');
const https = require('https')

const app = express();

xxx

https.createServer({key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.cert')}, app).listen(4500, () => {
    console.log('Listening...')
  })

提前感谢您!

【问题讨论】:

    标签: javascript node.js ssl amazon-ec2 https


    【解决方案1】:

    如果您在支持Amazon Certificate Manager 的地区,您可以免费获得SSL 证书。 https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html

    为了应用 ssl 证书,最简单的方法是在负载均衡器上使用它。检查我对这个问题的回答Apollo Server on Ubuntu 18.04 EC2 instance with HTTPS。

    如果您想直接在 EC2 上使用证书。尝试以下。我自己没有试过这个。 https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-export-private.html

    我还看到有人使用https://letsencrypt.org/ 来获取证书。

    【讨论】:

      【解决方案2】:

      浏览器不会信任您的自签名证书。

      一种解决方案是让自己获得一个域,然后获得由 Let's Encrypt 颁发的免费 SSL 证书。这将消除错误,因为所有主要浏览器都信任 Let's Encrypt 证书。

      另一种解决方案是获取 Cloudflare 的免费计划,其中包括 SSL 证书。更多信息here。

      可以使用 SSL 证书保护您的 IP,但没有免费的解决方案。

      【讨论】:

        【解决方案3】:

        OpenSSL 本身就是一个创建自签名证书的工具。浏览器永远不会信任这些证书。

        相反,您可以通过以下命令使用 Let's Encrypt:

        apt install certbot
        
        certbot certonly --standalone -d example.com
        

        Let's Encrypt 是一个受信任的实体,因此他们的证书是有效的。

        您的新证书将位于如下路径:

        /etc/letsencrypt/live/example.com
        

        正如其他人所建议的,您将需要一个域。您可以在 Freenom 等网站上免费获得一台。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-10
          • 2018-02-26
          • 2018-03-01
          • 1970-01-01
          • 2013-03-05
          • 2015-07-27
          • 1970-01-01
          • 2017-10-24
          相关资源
          最近更新 更多