无法在Nginx服务器中使用LetsEncrypt设置HTTPS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在Nginx服务器中使用LetsEncrypt设置HTTPS相关的知识,希望对你有一定的参考价值。

我按照以下教程在DigitalOcean上为我的网站设置https:https://www.digitalocean.com/community/tutorials/how-to-deploy-a-laravel-application-with-nginx-on-ubuntu-16-04

但是,我被困在这个地方 - 第6步 - 使用TLS保护您的应用程序

include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;

我的代码段文件夹中没有ssl-*.conf来匹配上面的TLS配置文件中的行。到目前为止,我没有看到任何其他错误。我可以使用Http查看我的网站,但不能查看HTTPS。

命令sudo nginx -t产生:

nginx: [emerg] open() "/etc/nginx/snippets/ssl-example.com.conf" failed (2: No such file or directory) in /etc/nginx/sites-enabled/example.com:13

是的,那些文件不存在。所以,我想教程跳过了生成这些文件的步骤。

命令ls /etc/nginx/snippets产生:

fastcgi-php.conf
snakeoil.conf

显然,缺少ssl-*.conf文件。

请帮忙。我尝试过DigitalOcean社区的帮助,但没有得到任何帮助。

提前致谢。

答案

好的,经过一段时间的研究,我自己找到了解决方案。

我们必须自己创建这些文件(配置片段)。

我们首先创建配置代码段文件:

sudo vim /etc/nginx/snippets/ssl-example.com.conf

然后我们在此文件中添加我们的SSL密钥和证书位置:

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

现在,我们在创建后将加密设置添加到第二个代码段文件:

 sudo vim /etc/nginx/snippets/ssl-params.conf

在此link之后可以轻松添加设置。

保存此文件后,我们所要做的就是修改Nginx配置文件。

以上是关于无法在Nginx服务器中使用LetsEncrypt设置HTTPS的主要内容,如果未能解决你的问题,请参考以下文章

letsencrypt,nginx,aws和nodejs无法设置

LetsEncrypt - VirtualMin - Nginx:更改根文件夹

Letsencrypt SSL证书上的WebSocket连接失败

无法使用 nginx 配置 certbot 以接受 https

ubuntu nginx 安装 certbot(letsencrypt)

letsencrypt的免费SSL证书续签及解决办法