【问题标题】:node + plesk + ssl : how to make them run together?node + plesk + ssl:如何让它们一起运行?
【发布时间】:2017-08-10 20:07:56
【问题描述】:

我客户的网站运行 PLESK 生成的 ssl。

我曾经使用 SSL 运行 node.js,这要归功于:

var ssl = {
    key:  fs.readFileSync('/etc/letsencrypt/live/mysite.com/privkey.pem'),
    cert: fs.readFileSync('/etc/letsencrypt/live/mysite/cert.pem')
};

但我不知道 PLESK 在哪里创建了这两个文件。

我试过了:

> /etc/ssl/certs/ssl-cert-snakeoil.pem
> /etc/ssl/private/ssl-cert-snakeoil.key

没有成功。

知道如何使用 Plesk 生成的 SSL 运行 nodejs 吗?

【问题讨论】:

  • 看看/usr/local/psa/var/certificates/?
  • 是:那里有 2 个文件,但仍然有相同的错误:错误:UNABLE_TO_VERIFY_LEAF_SIGNATURE
  • @yarek 我看到这个错误意味着证书有效但不受信任stackoverflow.com/questions/20082893/…

标签: node.js ssl plesk


【解决方案1】:

请。请注意,通过 Plesk Let's Encrypt 扩展创建的 Let's Encrypt 证书将其原始证书文件放置在:

/usr/local/psa/var/modules/letsencrypt/etc/live/(sub)YOUR-DOMAIN.COM
...虽然这些文件是所有创建的 Let's Encrypt 证书存档的符号链接,并且这些符号链接将始终链接到最新(和实际有效)的证书文件(请记住,Let's Encrypt 证书最多只能有效 90天! )。

另外,请。还要注意,您应该使用“fullchain.pem”而不是“cert.pem”,因为“cert.pem”缺少所需的根证书。 ;-)

【讨论】:

    【解决方案2】:

    我建议使用 Plesk 的 NodeJS 扩展(版本 Onyx)和 LetsEncrypt 扩展来处理证书的验证、路由和自动续订。这样您就可以在 Plesk Web 界面中进行所有操作,甚至不必使用控制台。

    1. Install Git Extension
    2. Install NodeJS Extension
    3. Install LetsEncrypt
    4. 在 Plesk 中为您的域配置 Git 和 NodeJS
      1. 包括可通过 Node 应用程序访问的公用文件夹(文档根目录)
      2. 设置你的应用正在监听的端口process.env.PORT
    5. 为该域激活 LetsEncrypt
    6. 完成!

    有关更多详细信息,请查看 Plesk 的教程: https://www.plesk.com/blog/product-technology/node-js-plesk-onyx/.

    【讨论】:

      【解决方案3】:

      例如,您的域 example.tld 使用 Let's Encrypt 证书名称 Lets Encrypt example.tld。您可以从 Plesk UI 下载带有私钥的证书文件:

      或者您可以通过以下请求尝试查找此证书文件:

      # mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -e "select id, cert_file, ca_file, name from certificates where name like '%example%'"
      +----+-------------+-------------+----------------------------------------------+
      | id | cert_file   | ca_file     | name                                         |
      +----+-------------+-------------+----------------------------------------------+
      |  3 | cert-1lPfuj | cert-6oXdCf | Lets Encrypt example.tld                     |
      +----+-------------+-------------+----------------------------------------------+
      

      正如@El_Matella 所说,检查文件cert-1lPfujcert-6oXdCf /usr/local/psa/var/certificates

      # ls -la /usr/local/psa/var/certificates/cert-*
      -r--------. 1 root root 5050 Jan  1 02:33 /usr/local/psa/var/certificates/cert-1lPfuj
      -r--------. 1 root root 1635 Jan  1 02:33 /usr/local/psa/var/certificates/cert-6oXdCf
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-26
        • 2015-08-04
        • 1970-01-01
        • 2021-12-29
        • 2015-10-17
        • 1970-01-01
        • 2013-04-09
        • 2016-01-28
        相关资源
        最近更新 更多