你有一个新注册的域名和您的Web服务器与您发出SSL自签名证书 ,这是造成你的客户头疼,而他们登陆域由于证书生成的错误操作? 您的预算有限,您不能购买受信任的CA颁发的证书? 这是当咱们加密软件进入现场,当天的扑救。
如果你想在RHEL,CentOS,Fedora或Ubuntu和Debian上安装Let's Encrypt for Apache或Nginx,请遵循以下指南:
安装程序让我们加密以在RHEL和CentOS 7/6上保护Apache
让我们的加密是一个证书颁发机构 (CA),便于您在获得安全地运行需要为您的服务器免费SSL / TLS证书,使您的用户流畅的浏览体验,没有任何错误。
测试示例环境
安全Apache与让我们加密SSL证书在Debian和Ubuntu
所有生成证书所需的步骤,主要是,自动为Apache网络服务器。 然而,尽管Web服务器软件,一些步骤必须手工完成,证书必须手动安装,特别是如果你的网站内容是由Nginx的守护程序提供。
本教程将指导您如何你可以在Ubuntu 14.04或Debian的安装8 咱们加密软件,生成并获得您的域名免费的证书,你怎么可以手动安装的Apache和Nginx的Web服务器证书。
要求
- 公共注册的域名与有效的
A
记录指向回您的服务器的外部IP地址。 如果您的服务器位于防火墙后面,请采取必要措施,通过在路由器端添加端口转发规则,确保您的服务器可通过互联网进行字宽访问。 - Apache Web服务器已启用SSL模块并启用虚拟主机,以防您托管多个域或子域。
第1步:安装Apache并启用SSL模块
1.如果您没有Apache网络服务器已经在你的机器安装的问题下面的命令来安装apache守护进程。
$ sudo apt-get install apache2
2. SSL模块激活对Ubuntu或Debian的 Apache网络服务器是非常简单的。 通过发出以下命令启用SSL模块并激活apache默认SSL虚拟主机:
$ sudo a2enmod ssl $ sudo a2ensite default-ssl.conf $ sudo service apache2 restart or $ sudo systemctl restart apache2.service
启用SSL模块活动Apache
游客现在可以通过HTTPS协议访问您的域名。 但是,由于您的服务器自签名证书不是由受信任的证书颁发机构颁发的,因此将在其浏览器上显示错误警报,如下图所示。
https://yourdomain.com
验证网站上的SSL加密
第2步:安装免费让我们加密客户端
3.为了在服务器上安装让我们的加密软件,你需要在你的系统上安装的git包。 发出以下命令来安装软件的git:
$ sudo apt-get -y install git
4.接下来,从系统的层次结构要克隆咱们加密 Git仓库选择一个目录。 在本教程中,我们将使用/usr/local/
目录以让我们的加密安装路径。
切换到/usr/local
目录,并发出以下命令安装客户端letsencrypt:
$ cd /usr/local $ sudo git clone https://github.com/letsencrypt/letsencrypt
第4步:为Apache生成SSL证书
5.获得SSL证书的Apache的过程是自动的感谢Apache的插件。 通过针对您的域名发出以下命令来生成证书。 提供您的域名作为参数传递给-d
标志。
$ cd /usr/local/letsencrypt $ sudo ./letsencrypt-auto --apache -d your_domain.tld
例如,如果您需要在多个域或子域操作证书添加他们都使用-d
标志为基础的域名后,每增加有效的DNS记录。
$ sudo ./letsencrypt-auto --apache -d your_domain.tld -d www. your_domain.tld
6.同意许可,恢复输入电子邮件地址,并选择客户端是否可以同时使用HTTP协议(安全和不安全的),浏览您的域或重定向所有非安全请求HTTPS。
接受Letsencrypt协议
请输入电邮地址
7.在安装过程完成后,成功将显示您的控制台上贺词通知您的截止日期以及如何测试配置在下面的截图所示。
Letsencrypt安装完成
Letsencrypt在网站上启用
现在,你应该能够找到您的证书文件/etc/letsencrypt/live
用一个简单的目录列表目录。
$ sudo ls /etc/letsencrypt/live
Letsencrypt SSL证书
8.最后,以验证您的SSL证书的状态,访问以下链接。 相应地替换域名。
https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest
在网站上验证Letsencrypt SSL证书
此外,访问者现在可以使用HTTPS协议访问您的域名,而不会在其网络浏览器中显示任何错误。
第4步:自动续订允许加密证书
9.默认情况下, 让我们加密机构颁发的证书的有效期为90天。 为了在到期日期之前更新证书,必须使用前面的确切标志和参数再次手动运行客户端。
$ sudo ./letsencrypt-auto --apache -d your_domain.tld
或者如果有多个子域:
$ sudo ./letsencrypt-auto --apache -d your_domain.tld -d www. your_domain.tld
10.证书更新过程可以自动通过使用Linux调度cron守护程序在到期日期前不少于30天运行。
$ sudo crontab -e
在crontab文件末尾添加以下命令(仅使用一行):
0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1
11.关于让我们的加密软件续订域配置文件的详细信息中可以找到/etc/letsencrypt/renewal/
目录下。
$ cat /etc/letsencrypt/renewal/caeszar.tk.conf
Letsencrypt SSL域续订配置
你也应该检查文件/etc/letsencrypt/options-ssl-apache.conf
来查看Apache网络服务器,新的SSL配置文件。
检查Letsencrypt Apache SSL配置
12.此外,我们的Apache进行加密插件修改了你的网络服务器配置一些文件。 为了检查哪些文件已被修改,列表内容/etc/apache2/sites-enabled
目录下。
# ls /etc/apache2/sites-enabled/ # sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf
检查Apache配置
目前为止就这样了! 在接下来的系列教程将讨论如何获取和安装上Ubuntu和Debian和CentOS上Nginx的网络服务器上。 让我们加密证书也是如此。