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

问题描述 投票:3回答:3

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

node.js ssl plesk
3个回答
2
投票

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

/usr/local/psa/var/modules/letsencrypt/etc/live/(sub)YOUR-DOMAIN.COM
... while these files are symlinks to the archive of all created Let's Encrypt certificates and these symlinks will always link to the latest ( and actual valid ) certifiate files ( pls. remember, that Let's Encrypt certificates are only valid for a maximum of 90 days! ).

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


0
投票

例如,您有域名example.tld与Let的加密证书名称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

0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.