多种方式安装SSL证书,实现HTTPS

Lnmp环境

如果使用的是Lnmp(http://lnmp.org)一脚脚本搭建的环境。安装证书最简单的就是在添加站点(虚拟主机)的时候,在最后一步选择是否安装SSL证书,完全傻瓜式的。优点:证书免费;很方便,只需在添加站点的时候选择安装SSL证书,配置文件不用自己修改。缺点:只适用于Lnmp(http://lnmp.org)一脚脚本环境;证书期限只有三个月,尽管到时可续期。

安装过程

1.解析域名。必须保证域名解析已经生效,否则证书申请会失败。

2.使用lnmp vhost add 添加站点。步骤如下:

结果如下:

可以看到证书已经申请成功,接下来你只需要将浏览器中将http换成https,就可以正常访问https。

使用腾讯云的免费SSL证书

腾讯云账户可以申请免费的SSL证书,上限不知,而且申请速度非常快,一般三分钟以内就可以通过申请,获得证书。优点:免费;有效期一年,比Let’s Encrypt三个月的有效期好很多。缺点:申请证书的时候需要添加一个TXT记录,不过这都不是事;需要自己修改配置文件,添加证书路径等相关配置。

安装过程

1.申请证书。申请地址:https://console.qcloud.com/ssl。

选择左侧免费版DVSSL证书

《多种方式安装SSL证书,实现HTTPS》

填写域名,申请邮箱,域名备注。

《多种方式安装SSL证书,实现HTTPS》

接下来选择域名身份验证,建议手动DNS验证,然后确认申请。

《多种方式安装SSL证书,实现HTTPS》

确认申请之后,会给出TXT解析记录的值。

《多种方式安装SSL证书,实现HTTPS》

之后要做的就是添加一个TXT记录了。

《多种方式安装SSL证书,实现HTTPS》

如果解析生效快的话,三分钟之内就可以认证通过,就可以下载证书到本地,然后通过ftp工具上传到服务器。

《多种方式安装SSL证书,实现HTTPS》

2.修改配置文件

在配置文件中添加以下内容(以下内容仅适用于nginx环境,Apache,IIS自行查看官方文档进行配置)

使用cloudflare的SSL证书

如果你想使用免费的CDN服务,同时使用免费的SSL证书,cloudflare是你不二的选择,前提是你的域名DNS要改为cloudflare的。优点:很方便,只需要开启CDN就能设置SSL证书,配置文件什么的都不用改;关于证书有效期,虽然证书信息写着一年或者几个月,但我感觉应该是无限期续的。缺点:不开启CDN无法使用SSL证书,所以国内网站不是很推荐,因为默认CDN节点是走美国的,会降低国内网站的访问速度;如果你在cloudflare设置不当,可能会出现“Error 310 (net::ERR_TOO_MANY_REDIRECTS): there were too many redirects”或者“50X”的错误。

使用acme.sh安装证书

acme是纯粹以Shell语言编写的脚本,用来生成 免费SSL证书。lnmp1.5的更新替换传统的certbot,也开始使用acme.sh来生成证书。acme.sh简单功能强大,使用也很简单,官网有很详细的使用教程。在这里,我大概介绍一下,如果不能满足需要,可移步官网。使用acme.sh签发证书之前,确保你的网站目录是可以访问的,即:域名已经解析,网站已经配置生效

安装过程

1.安装acme.sh。(如果使用acme.sh需要为独立服务器安装SSL证书,务必安装socat;如果不需要,可以选择不安装)

这里采取在线安装方式(更多安装方式参考官网教程)

2.重载 .bashrc文件。使acme.sh命令可用。

3.签发证书。

参数 d 为domain,即域名;w 为webroot,即网站目录。

如果你没有使用任何web服务器,比如smtp或ftp服务器,可以使用独立模式,使用以下命令生成证书(要保证80端口不被占用,若被占用,使用 httpport参数指定特定的端口):

生成的证书将被放入 ~/.acme.sh/domain.com/目录。

4.安装证书。(以Nginx环境为例)

这里是在网站目录下面创建了一个新文件夹 ssl,用来安装证书。

在这里,同时生成dhparam.pem文件:

5.修改配置文件。

因为acme.sh只是用来签发安装证书,并不会修改配置文件,所以需要手动添加 SSL部分的配置文件,还是以Nginx为例。

添加以下代码到你的配置文件:

修改之后使用以下命令测试配置文件是否配置成功:

或者:

测试没有错误,使用以下命令重载配置。

或者:

6.证书更新。acme.sh生成的证书也是 Lets`encrypt的,有效期只有三个月。

启用自动更新:

禁用自动更新:

强制更新:

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注