售前咨询
技术支持
渠道合作

如何在nginx服务器部署Let’s Encrypt免费SSL证书

Nginx 服务器

是一个高性能的HTTP和反向代理服务器;也是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。

Let’s Encrypt免费SSL证书

Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由网络公益组织ISRG(Mozilla、Cisco、Akamai、IdenTrust、EFF等)组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。

Nginx 是部署HTTPS常用的服务器之一,而Let’s Encrypt免费SSL证书几乎是全球使用最广泛的SSL证书之一。可见很多站长都必须要知道nginx服务器如何部署Let’s Encrypt免费SSL证书,这对于SSL证书熟悉的站长来说是一件轻而易举的事情,但是对于初次接触SSL证书的人来,就是一头雾水,为了解决这种尴尬的场面,下面介绍基于web服务器是nginx,实行部署Let’s Encrypt免费SSL证书。

下载项目运行,生成证书

[html] view plain copy

#git clone https://github.com/certbot/certbot

#cd certbot

#./certbot-auto certonly –standalone –email admin@example.com -d example.com -d www.example.com -d other.example.net

此处非常简单,一步到底。执行certbot-auto命令就是生成证书的过程,参数中email是站长对应的域名联系人邮箱地址,参数d就是要加签的域名,可以多个。

生成过程有提示的话agree和yes即可

参看证书

生成的证书位于/etc/Let’s Encrypt/下

[html] view plain copy

#ls /etc/Let’s Encrypt/

accounts  archive  csr  keys  live  renewal

#cd /etc/Let’s Encrypt/live/example.com && ll

cert.pem  – Apache服务器端证书

chain.pem  – Apache根证书和中继证书

fullchain.pem  – Nginx所需要ssl_certificate文件

privkey.pem – 安全证书KEY文件

这4个文件就是生成的密钥证书文件,但是他们都是文件链接而已,实际的文件位于/etc/Let’s Encrypt/archive/example.com下

[html] view plain copy

#ls /etc/Let’s Encrypt/archive/example.com/

cert1.pem  chain1.pem  fullchain1.pem  privkey1.pem

如果用到docker一类的工具,nginx配置中必须指向真实文件位置,否则会读不到

配置nginx

需要在已有的LNMP添加了站点,然后在站点对应的CONF文件设置

[html] view plain copy

server

{

listen 80;

#listen [::]:80;

listen 443 ssl;

ssl on;

ssl_certificate /root/ssl.crt;

ssl_certificate_key /root/ssl.key;

server_name example.com www.example.com;

上面有ssl字样的4行配置是必须添加的,对应路径要与之前上传的CRT和KEY文件路径对应以及文件名不要搞错。

最后,重启LNMP,可以看到SSL证书生效,且HTTPS可以访问站点。

如果需要强制使用HTTPS网址访问,那就需要取掉 listen 80;脚本。

上一篇:

下一篇:

相关文章