http网站快捷免费升级到https

网站一直光着身子跑,这次我要加一件衣服 —— 知码学院

前言

能看到这篇文章我想大家对http和https都不陌生,我也不做过多阐述,直接开干
通配符证书,需要续期的同学可以看我另外一篇文章 Let’s Encrypt 通配符证书如何续期

工具

  • 已备案域名一个
  • CentOS 7
  • Nginx
  • Let's Encrypt

先来个小广告,君哥的Java零基础初级学习全套视频已经推出啦
弟弟妹妹的可以看过来 https://hledu.ke.qq.com
想做在线讲课的也可联系

这里我详细介绍下Let's Encrypt,它是国外一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞助行列。

Let's Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被 Mozilla、Google、Microsoft 和 Apple 等主流的浏览器所信任,用户只需要在 Web 服务器证书链中配置交叉签名,浏览器客户端会自动处理好其它的一切,Let's Encrypt 安装简单,使用非常方便。

这么多浏览器共同发起的,所以不要担心过时,重点是免费,是不是免费就不好呢,并不是,开源精神所在,Linux免费,它不好吗?

通配符证书支持

有个新的好消息,在2017年我使用该SSL的时候还不能对二级域名做https,一个站就只能做一个,2018年3月14日,Let's Encrypt的执行董事Josh Aas对外宣布,他们的通配符证书正式上线,用户可以基于此特性轻松部署/开启所有子域名的HTTPS功能。

通配符好处

假设你有个域名叫www.it235.com,在通配符不支持之前呢,你只能对www这个主域名做解析,但是现在你可以:
a.it235.comv.it235.comz.it235.com,是不是很开心呢

上手就开干

获取证书生成工具

certbot-auto作为我们的证书生成工具,我们先下载然后授权使用,命令如下

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

如果不知道下载到哪去了,通过如下命令查找位置

find / -name certbot-auto

获取证书

这里我以域名: it235.com 举例子,你们注意记得替换成你们的

  1. 首先请先打开阿里云或腾讯云域名解析网站,找到解析的地方,如下


    我的主机为阿里云
  2. 执行前面下载的certbot-auto

./certbot-auto certonly  -d *.it235.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory
image.png

执行后有三个交互式的提示,不要着急一步步来,请仔细查看配置输出:

  • 是否同意 Let's Encrypt 协议要求


    同意协议
  • 询问是否对域名和机器(IP)进行绑定


    添加TXT解析记录
  • 输入邮箱,给你发送一封验证邮件
    如果是第一次操作应该需要验证邮箱,我这里因为已经操作多次了,所以不需要再次验证了

记录配置

阿里云配置完成后不要心急,等待3分钟左右,云解析生效需要几分钟时间,否则你就前功尽弃重新来了

验证成功

输入如下命令查看证书信息

./certbot-auto certificates

到这里的话证书申请已经操作完了,接下来我们来看Nginx配置部分

nginx配置证书

要想让 Web服务器支持 HTTPS ,首先你的服务器肯定要支持 SSL ,所以我们先检查 Nginx 是否支持 SSL

我这里显示支持

如果configure arguments没有with-http_ssl_module描述的话则需要安装,这里因为我已经配置过了,所以没办法再次演示,大家可以去查看nginx开通ssh支持的具体配置

证书准备
接下来我们将生成的证书放到一个指定的目录,随你放哪都行,nginx能读取到即可

[root@iz2zeip7gvbiukof8kwdapz it235]# pwd
/usr/local/nginx/conf/cert/it235
[root@iz2zeip7gvbiukof8kwdapz it235]# ls
cert.pem  chain.pem  fullchain.pem  privkey.pem

将如上四个文件copy到自定义的文件夹,然后进入nginx.conf

改造前的配置

改造前
改造后的配置

这时候,你就可以打开浏览器访问一下试试了。如果访问不到,请先检查443端口是否开放,设置一下防火墙,如果能成功访问到,那么恭喜你。

改造后

到这里,服务器支持 HTTPS 升级已经完成,但是很多人在浏览器地址栏输入域名的时候都不输入http://或https://的,因为浏览器会自动帮我们加上http://的,所以,这时候输入我们刚刚设置的域名其实还是没有走https://请求,那怎么让就是输入http://也走HTTPS呢?

同级server加入如下代码做跳转

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

修改完配置后一定要重新加载让配置生效

$ ./nginx -s reload

有效期

该证书的有效期只有3个月,切记在快满3个月的时候重新更新一次,执行如下代码即可

./certbot-auto renew

回收

  • 若需要回收的同学,注意,过期了就不用回收了,如果有多个账号,需要指定account
  • 文件目录一定要写对,否则会出错
相关命令:./certbot-auto revoke

[root@rxblog certbot-0.22.2]$ ./certbot-auto revoke --cert-path /etc/letsencrypt/archive/51object.com/cert1.pem
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Would you like to delete the cert(s) you just revoked?
-------------------------------------------------------------------------------
(Y)es (recommended)/(N)o: Y

-------------------------------------------------------------------------------
Deleted all files relating to certificate 51object.com.
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
Congratulations! You have successfully revoked the certificate that was located
at /etc/letsencrypt/archive/51object.com/cert1.pem

-------------------------------------------------------------------------------

删除

  • 如果不使用了建议先回收,再删除,若已过期则可直接删除
  • 如有多个则按照需要选择,下图我回收的为第四个域名,所以输入4
相关命令:./certbot-auto delete

[root@iz2zeip7gvbiukof8kwdapz wildcard]$ ./certbot-auto delete
Saving debug log to /var/log/letsencrypt/letsencrypt.log

Which certificate(s) would you like to delete?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: 51object.com-0001
2: hliedu.com
3: it235.com
4: 51object.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 4

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Deleted all files relating to certificate 51object.com.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

总结

上面讲解了怎么将http升级到https,其实很简单,但是需要考虑的却有很多,系统从http升级到https都需要考虑服务中代码配置情况,比如代码底部如果有写死的http尽量配置成灵活的,否则系统在做升级的时候很麻烦,一些静态资源都需要进行路径的配置,如果文件中存在http路径请求,在地址栏是会出现信任但https警告的情况。

http慢慢的会被抛弃,所以升级为https是项目一开始就需要考虑进去的

需要续期的同学可以看我另外一篇文章 Let’s Encrypt 通配符证书如何续期


喜欢的话就请移步知码学院,请自备水,更多干、干、干货等着你

如果你有过人的技术,如果你有好的文章,欢迎投稿,我们将在公众号和网站首发

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容