node + plesk + ssl:如何让它们一起运行?

时间:2017-03-19 15:35:57

标签: node.js ssl plesk

我的客户的网站运行由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?

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

plesk letsencrypt SSL

或者您可以按照以下要求尝试查找此证书文件:

# 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-1lPfuj处说检查文件cert-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

答案 2 :(得分:0)

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

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

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