现在的网站域名如果只是http而不是https开头的话,会被浏览器认为不安全的。SSL证书就是把http转成的https的必备条件。但很多SSL证书是要付费购买的。对于小网站来说,有没有免费的SSL证书可用呢?答案是有。不仅免费,而且证书到期后还能自动免费续期。当然,证书的获取需要自己在服务器上配置了。
下面就说说如何配置吧。
首先,进入这个网站Certbot | Certbot,网站界面如下:
在“My HTTP website is running”的 Software 选择服务器软件,常用的是Apache和Ngnix,根据你的实际情况来选。System是选择服务器的系统。
我一般用的是Apache和Ubuntu 20,下面就以这个为例。选择后的界面如下:
第1点:SSH into the server,不用操作,直接忽略。
第2点:Install snapd。
服务器上一般都没有安装snapd,所以要我们自己安装。安装方法:
输入命令行:
sudo apt-get install snapd
就会自动安装了。
安装成功后的界面:
第3点:Ensure that your version of snapd is up to date。
输入命令行:
sudo snap install core; sudo snap refresh core
操作成功结果截图:
第4点:Remove certbot-auto and any Certbot OS packages。
如果你有安装过Cerbot,那你就可以安装第四点来删除以前的Cerbot,如果没有,就可以忽略这一步了。
第5点:Install Certbot。
输入命令行:
sudo snap install --classic certbot
操作成功结果截图:
第6点:Prepare the Certbot command。
输入命令行:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
操作成功截图:
第7点:Choose how you'd like to run Certbot。
按照你的实际需求来,获取和安装证书就输入命令行:
sudo certbot --apache
如果仅仅只需要获取证书,那就输入这个命令:
sudo certbot certonly --apache
我需要获取和安装,所以是
sudo certbot --apache
运行这个命令后,会要求你输入你的邮件地址,输入正确邮箱后会询问你是会否同意服务条款(Terms of Service)和分享你的邮箱给某个基金会,你都输入“Y”就可以了。接着会要求你输入你的域名地址。在这里必须提醒一下:最好输入www和不带www的两个域名,域名之间用逗号或者空格分隔。例如:www.abc.com,abc.com或者www.abc.com abc.com。这样就可以把www和不带www的域名的http都带上s变成https了。哪个作为主域名就把哪个放在前面,上面的例子就是把www.abc.com作为主域名。如果把abc.com作为主域名,那就abc.com,www.abc.com这样子。如果只写一个域名的话,另一个域名访问是没有https的。
把域名填写好后,程序自动配置,成功后就可以正常用https来访问域名了。域名只有3个月的期限,但不用害怕,到期后它会自动免费续期。
第8点:Test automatic renewal。是测试证书自动更新。可以忽略这步。
第9点:Confirm that Certbot worked。是确认certbot正常工作。在浏览器输入https://开头的域名,能正常访问即可。
Certbot 管理证书命令
另外,Certbot的命令使用教程可以通过点击截图中“here”进入一个页面。
点击“here”进入后的页面:
再在左侧点击“User Guide”就是使用教程了。
也可以直接访问这个网址“User Guide — Certbot 1.26.0 documentation”去使用教程。
通过使用教程,可以学习到如何管理证书。
例如:
1.查看证书:
certbot certificates
2.删除某个安装了证书的域名:
certbot delete --cert-name example.com
3.重新创建和更新现有证书
certbot --expand -d existing.com,example.com,newdomain.com
通过这些命令,就可以管理已经安装的证书的域名了。对于解决更换域名后需要重新设置域名的ssl证书这个问题来说非常有用。