我的客户的网站运行由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的任何想法?
PLS。请注意,通过Plesk Let的加密扩展创建的Let's加密证书将其原始证书文件放在:
/usr/local/psa/var/modules/letsencrypt/etc/live/(sub)YOUR-DOMAIN.COM
另外,请。请注意,您应该使用“fullchain.pem”而不是“cert.pem”,因为“cert.pem”错过了所需的根证书。 ;-)
例如,您有域名example.tld
与Let的加密证书名称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-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
我建议使用Plesk的NodeJS扩展(版本Onyx)和LetsEncrypt扩展来处理证书的验证,路由和自动续订。这样您就可以在Plesk Web界面中使用所有内容,甚至不必使用控制台。
process.env.PORT
的PORT有关更多详细信息,请查看Plesk的教程:https://www.plesk.com/blog/product-technology/node-js-plesk-onyx/。