ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

做免费的https证书

2022-06-15 16:04:28  阅读:143  来源: 互联网

标签:qikqiak 证书 免费 blog Let https com


转:  https://www.qikqiak.com/post/make-https-blog/

谁都不愿意在使用网站服务的时候,被恶心的运营商劫持加上一些他们的服务(真的很贱,不是吗?),不过这能难道我们程序员吗?当然不能,上https,老子全站https,你再劫持给我看看。

https证书服务大部分都是收费的,而且很贵,阿里云可以申请一个免费的证书,只能绑定一个域名,这里我们使用更加友好的免费https服务:Let’s Encrypt

 

Let’s Encrypt 简介

如果要启用HTTPS,我们就需要从证书授权机构(以下简称CA) 处获取一个证书,Let's Encrypt 就是一个 CA。我们可以从Let's Encrypt 获得网站域名的免费的证书。这篇文章也主要讲的是通过 Let's Encrypt + Nginx 来让网站升级到HTTPS

获取证书

Certbot是Let's Encrypt官方推荐的获取证书的客户端,可以帮我们获取免费的Let's Encrypt 证书。安装命令:

yum install certbot

 

生成证书:

certbot certonly --email icnych@gmail.com --agree-tos --webroot -w /var/www/blogs -d blog.qikqiak.com

其中-w后面是网站根目录,-d后面是网站域名,所以需要保证目录存在并且可以正常访问。

执行完生成证书的命令后,会生成相关的证书文件到/etc/letsencrypt/live/blog.qikqiak.com/目录下面:

$ ls /etc/letsencrypt/live/blog.qikqiak.com/
cert.pem  chain.pem  fullchain.pem  privkey.pem  README

 至此证书生成完成。

Nginx 配置https

证书生成完成后,还需要更改我们的Nginx配置服务,主要是监听443端口,启用SSL,并配置SSL的证书路径(公钥,私钥的路径)。如下:

server
{
    listen       443;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/blog.qikqiak.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blog.qikqiak.com/privkey.pem;
    server_name blog.qikqiak.com;
    root /home/notes/apps/blog;
    index index.html;
}

 配置更改过后重新加载Nginx即可生效:

nginx -s reload

 现在我们访问https://blog.qikqiak.com已经可以正常访问了,但是还有一个问题就是访问http://blog.qikqiak.com依然还是http的,所以我们需要配置将http更改为https,这样就完美了。这里可以用到之前我们的301跳转来解决这个问题,完整的配置如下:

server {
    listen  80;
    server_name blog.qikqiak.com;
    rewrite ^(.*)$  https://$host$1 permanent;
}

server
{
    listen       443;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/blog.qikqiak.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blog.qikqiak.com/privkey.pem;
    server_name blog.qikqiak.com;
    root /home/notes/apps/blog;
    index index.html;
}

 

更新证书

到这里我们已经将博客https化了,但是还没有完的,由于Let's Encrypt证书的有效期只有90天,所以在到期之前我们需要更新整数,certbot给我们已经提供了这样的更新命令,我们只需要将更新命令添加到crontab下面定期更新即可:

$ crontab -l
30 5 1 * * root /usr/bin/certbot renew --renew-hook "/usr/sbin/nginx -s reload"

 

到这一步才算革命成功了~~~ 我们再也不用担心恶心的害虫了~~~

「真诚赞赏,手留余香」

标签:qikqiak,证书,免费,blog,Let,https,com
来源: https://www.cnblogs.com/fyy-hhzzj/p/16378734.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有