http网站快捷免费升级到https

前言

能看到这篇文章我想大家对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能读取到即可

[[email protected] 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 ,请自备水,更多干、干、干货等着你

如果你有过人的技术,如果你有好的文章,欢迎投稿,我们将在Java面试必修首发

原文地址:https://www.cnblogs.com/itmsbx/p/9685880.html

时间: 2024-09-30 15:20:17

http网站快捷免费升级到https的相关文章

如何免费把网站从http升级到https

预备知识: 1.什么是https, 相对于https有什么优势/劣势? 2.升级https需要准备的文件? 如何升级? 3.ssl证书类型?  (EV/OV/通配符证书....) 4.如何选择ssl证书? 如何选择供应商?  (推荐一家:godaddy比较便宜,Versign/GlobalSign等都比较偏贵) 5.如何免费获取信任的ssl证书? 如果对以上几点还不熟悉的同学可以先去了解以下,本文主要讲解第五点如何获取到免费的被信任的SSL证书. 什么时候可以考虑到使用免费的证书. 例如:你开发

什么是https?http升级为https需要什么?

一.什么是https? https是一种加密传输协议,网站使用https后可以避免敏感信息被第三方获取.https加密协议=SSL / TLS+http协议,也就是说,在传统的http协议上加上SSL成就可以实现数据传输加密. 二.网站从http升级为https需要什么? 前面说到https加密协议=SSL / TLS+http协议,也就是说,网站从http升级为https的关键就在于SSL证书,网站安装SSL证书之后就可以从http升级为https,进行加密传输,保护网站数据安全了. 一开始S

Nginx http升级到https

http和https的区别是 有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站http://www.511easy.com/bug/login 怎样才能去掉这个不安全的提示呢? 从http升级到https呗 最终效果看一下: 如果目前有一个网站,要怎么升级为https呢 域名: 511easy.com 有域名了就可以申请免费的ssl证书,如下截图,基于各个Web服务器的证书,我这边用的是Nginx 那然后就需要配置nginx.conf的配置了,大概就是用下面的第三个,前两个是我

婚恋网站跨入免费时代?颠覆还是无奈

也不知道怎么回事,现在单身狗越来越多,甚至形成一个极其特殊又非常普遍的集群,与恩爱狗形成水火不容的局面.到这时,寻欢取乐的社交应用已毫无意义,相亲已经不可避免.而相比效率低下的,靠三大姑八大姨口口相传的线下相亲,方便.快捷且高效的线上相亲成为主流的相亲模式.为了争夺这一块"肥肉",婚恋网站也是打得头破血流.近日,百合网就推出"免费"的大招. 众所周知,站内信.付费会员.虚拟物品等一向在婚恋网站的收入中占据大头,也形成了固定的商业模式.而现在百合网要做的就是打破&qu

将http升级为https tomcat

将在tomcat中跑的项目 由http升级为https https可以保证连接的可靠性 与 数据的安全性 1.首先我们要申请一个证书.证书这东西有不少免费的 腾讯 阿里 七牛都有 不过基本都要求实名啊 备案啊 所以呢 我们可以到其他地方申请 有个地址 https://www.pianyissl.com/ 这里可以申请证书 不过呢 只有3个月的有效期. OK 当我们申请好证书之后呢 打开证书 可以看到 有两个我文件 keystore.jks 和 password.txt txt里面就是密码 下面我

【Nginx】将http升级到https并且同时支持http和https两种请求

一.如何将http升级到https 需要满足下面三个: 1.域名 2.nginx 3.SSL证书 一般第三方证书颁发机构下发的证书是收费的,一年好几千. 1) 从腾讯云申请免费的SSL证书,有效期一年,可申请多个  SSL 证书申请地址在这里: https://console.qcloud.com/ssl 申请过程几分钟就可以搞定,主要分两步 1.申请免费的证书,设置手动DNS验证 2.到域名对应的域名解析商处添加解析记录 下载申请好的域名,上传到服务器指定位置 2) nginx配置 2.1.使

微信小程序 免费SSL证书https、TLS版本问题的解决办法

这篇文章主要介绍了微信小程序 免费SSL证书https.TLS版本问题的解决办法的相关资料,需要的朋友可以参考下 微信小程序 免费SSL证书https.TLS版本问题的解决办法 微信小程序与第三方服务器通讯的域名5个必要条件 1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口 2.加ssl证书,也就是https://~~~ 4.HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0.1.1.1.2要同时支持这三个版本,一个也不能少,要不然就会出

干货分享!12款响应式的移动网站模板免费下载

如果你打算开发网站,你想要关注的第一件事就是网站的外观和感觉.另外用户体验很重要,现在是属于移动互联的时代,用户有可能通过移动设备浏览你的网站,因此同样重要的是要考虑你的网站在移动端的使用体验. 这个特殊的列表包含一组基于 HTML5 和 CSS3 的移动网站模板,你可以免费下载这些模板,没有任何限制.赶紧收藏吧:) 您可能感兴趣的相关文章 太赞了!超炫的页面切换动画效果[附源码下载] 创意无限!一组网页边栏过渡动画[附源码下载] 好东西!动感的页面加载动画效果[附源码下载] 使用 CSS3 实

提前一天退休:360升级助手已终止Win10免费升级

微软将在美国当地时间9月30日终止Win7/Win8.1免费升级Win10的活动,对于国内用户来说,微软把截止日期定到了北京时间10月3日18:00.不过国内一些第三方Windows10升级助手却按照之前宣传的"3日"停止了升级支持,例如360升级助手,已经提前一天退休. 乍一看,很多朋友可能认为这队友也太--"神"了,居然提前退休,不站好最后一班岗.不过仔细想来360应该不至于犯这种低级错误,这个安排应该出自现金网之手.要知道,像360这种家喻户晓的软件影响力也是