使用Let's Encrypt轻松实现站点https
大家知道https的站点,都是需要CA机构来颁发证书的。如果不是CA机构颁发的证书,在使用浏览器浏览的时候会报证书错误。
但是https的证书一般来说是要付费购买的,今天我们使用Let's Encrypt免费实现站点的https功能。文章以我自己的网站为例:www.athrob.com (OS:CentOS 6,使用Nginx)
关于Let's Encrypt,大家自行百度或Google。
letsencrypt官方主页:https://letsencrypt.org/
关于letsencrypt的原理请参考:https://letsencrypt.org/how-it-works/
0x00 如何使用
简单的五条命令即可:
[1] sudo yum install epel-release
[2] wget https://dl.eff.org/certbot-auto
[3] chmod a+x certbot-auto
[4] ./certbot-auto
[5] ./certbot-auto certonly --standalone --email admin@example.com -d example.com -d www.example.com
备注:
1.你需要对webserver有完全的访问权限
2.能够正常访问该站点3.有效期一般是三个月,到期需要重新renew一下
执行完第5条命令,看到如下信息,说明证书已经颁发完成:
Certificate Complete证书公钥路径:/etc/letsencrypt/live/athrob.com/fullchain.pem
证书私钥路径:/etc/letsencrypt/live/athrob.com/privkey.pem
其中athrob.com这个文件夹为站点名称,不同的站点文件夹名称是不一样的。
0x01 Nginx配置
#监听80端口,实现80端口到443端口的流量跳转
server {
listen 80;
server_name athrob.com;
return 301 https://$server_name$request_uri;
}
#nginx配置https信息,监听443端口
server {
listen 443 ssl;
server_name athrob.com;
# ssl on;
ssl_certificate /etc/letsencrypt/live/athrob.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/athrob.com/privkey.pem;
ssl_session_timeout 5m;
}
备注:使用Apache的请自行查资料配置
0x02 结果
最终的结果,如下图:
https-website
0x03 其他
如果是使用其他OS或者Apache的,可以参考官网:https://certbot.eff.org/
不足之处,请批评指正。
如有问题,请私信联系。
谢谢!