网站一直光着身子跑,这次我要加一件衣服 —— Java面试必修

前言

能看到这篇文章我想大家对http和https都不陌生,我也不做过多阐述,直接开干

工具

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

这里我详细介绍下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.itmsbx.com,在通配符不支持之前呢,你只能对www这个主域名做解析,但是现在你可以:
a.itmsbx.comv.itmsbx.comz.timsbx.com,是不是很开心呢

上手就开干

获取证书生成工具

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

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

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

find / -name certbot-auto

获取证书

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

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

  2. 执行前面下载的certbot-auto

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

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

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

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

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

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

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

./certbot-auto certificates

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

nginx配置证书

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

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

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

[root@iz2zeip7gvbiukof8kwdapz itmsbx]# pwd
/usr/local/nginx/conf/cert/itmsbx
[root@iz2zeip7gvbiukof8kwdapz itmsbx]# 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 *.itmsbx.com;rewrite ^(.*)$  https://$host$1 permanent;
}

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

$ ./nginx -s reload

有效期

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

./certbot-auto renew

总结

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

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


本文首发为:Java面试必修   www.itmsbx.com,请自备水,更多干、干、干货等着你

http网站快捷免费升级到https相关推荐

  1. 手把手教你 3 分钟搞定个人网站 http 免费升级到 https

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 推荐:https://www.xttblog.com/?p=5081 手把手教你 ...

  2. 让你的网站从http免费升级为https

    一.问题 让网站(http://www.example.com )支持 https 协议,能正常访问( https://www.example.com)这个链接. 二.解决方案 https 其实就是通 ...

  3. 3 年9.9元,网站从HTTP升级到HTTPS

    上一次,我们完成域名解析后,发现浏览器地址栏里的域名被提示为不安全,就是因为它还是个宝宝,没有升级为 HTTPS 证书. 那怎么升级为 HTTPS 证书呢?可以直接通过阿里云购买 SSL 证书,但特么 ...

  4. apache http server 停止工作_(二)http协议的网站装ssl升级成https

    最终目标:微信小程序要想上线 必须内部所有域名都是https,比如网络图片,比如后端接口,比如其他链接. 问:既然https://minihome.top/能直接访问了,那我用eggjs(node)写 ...

  5. 网站HTTP升级为HTTPS

    文章目录 绪论 申请证书 安装证书 设置跳转 绪论 2019年11月2日,网站从http升级到https 以下为详细操作,主要有3个步骤. 申请证书 首先SSL证书有以下3中类型 DV(域名型):个人 ...

  6. 把网站免费从HTTP升级为HTTPS

    把网站免费从HTTP升级为HTTPS 使用 Let's Encrypt的免费证书让网站升级为HTTPS,那么如何使用 Let's Encrypt的免费证书让网站升级为HTTPS呢? 或许你在一个博客上 ...

  7. 免费申请下载SSL证书与证书的安装部署教程,网站服务由网站由http协议升级为https协议

    文章目录 相关技术术语 SSL SSL证书 HTTPS 证书申请 证书安装 在Tomcat服务器安装SSL证书 示例使用 阿里云SSL证书服务 相关技术术语 SSL 安全套接层SSL(Secure S ...

  8. 给你的网站穿上外衣 - HTTPS 免费部署指南

    前言 随着国内各大网站纷纷开启全站 HTTPS 时代,HTTPS 已不再是支付等敏感操作过程的专属,开启 HTTPS 对于个人网站或者小型网站也不再遥不可及. 今天博主就以自己的网站 www.rapo ...

  9. 网站如何从http升级成https

    基本概念: HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HT ...

  10. 永久免费http升级到https

    http与https的区别 为了数据传输的安全,https在http的基础上加入了ssl协议,ssl协议依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密.要想将http升级为https,只 ...

最新文章

  1. 红外测试操作步骤_红外传感实验操作步骤及数据分析(无测试实图)
  2. python 生成器与迭代器
  3. 深刻理解:反向代理服务器
  4. python filename 以txt截尾_What?PPT里也能运行Python?
  5. 四、数据仓库和Hive环境搭建
  6. 【Fedora20】 samba配置
  7. 防御XSS攻击的七条原则
  8. Deep Reinforcement Learning for Dialogue Generation-关于生成对话的深度强化学习
  9. 课程管理系统 Moodle 初体验
  10. 时序数据库 VS 工业实时数据库
  11. 基于51单片机ADC0808的proteus仿真
  12. rk3399调试ov2659(camera模块@dvp接口)--源码分析
  13. idea修改注释模板
  14. 两张图片放在一起有条白线_用photoshop对两幅图无缝拼接后,怎么消除接口那条明显的线?...
  15. 网络安全人员必考的几本证书
  16. 《财富的未来》——佐藤航阳读书笔记
  17. .Net中使用数据库(sqlite)的大体流程(简单向)
  18. Transact-SQL语言基础语句
  19. 快捷下载中国原创音乐基地音乐(包括金豆和无法下载音乐)
  20. 万圣节元素矢量图案 Halloween Vector Pattern

热门文章

  1. 【IPD从零到一】创业指导:IPD 是什么?
  2. 关于 opengl3.3 - 4.1 ABO 的感触. 传统 VBO往 ABO+VBO的 代码移植
  3. java语音识别毕业设计,HMM的语音识别技术的毕业设计
  4. 传智播客风清扬视频-------IO简述之字符流常用实现类
  5. 摄影测量单像后方交会实验报告
  6. 如何解决chrome浏览器地址栏变黑色(chrome搜索栏变黑)(mac电脑)
  7. stc12c5a单片机c语言adc,STC12C5A60S2单片机的ADC采样程序分享
  8. 【Java的Excel操作】MyExcel
  9. 误码率(BER)测试仪市场研究分析
  10. 技术成长-不积跬步无以至千里