为了账号安全,请及时绑定邮箱和手机立即绑定

网站由http升级为https图文教程

标签:
Java

网站由http升级为https图文教程

本文是基于凯哥个人网站由http升级为https的记录。

前提说明:凯哥网站在AliYun备案的。所以基于此创建的。如果是腾讯云备案的域名也是类似的。

名词解释:

HTTP与HTTPS是什么?

HTTP协议(超文本传输协议)是互联网上应用最为广泛的一种网络协议,常被用于在web浏览器和网站服务器之间传递信息,http协议传输数据是以明文方式进行传送,如果中途被截获,就可以读取其中的信息。还记得之前公司某一台医疗设备的登录界面被截获,页面上都是广告的情况。

为了解决HTTP协议的这一缺陷,就延伸出HTTPS协议 (安全套接字层超文本传输协议),HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,为web浏览器和服务器之间的通信数据进行加密。

HTTPS协议的主要作用分为两种:

建立一个信息安全通道,来保证数据传输的安全

确认网站的真实性。

HTTP与HTTPS有什么区别

https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比

证书申请流程:

1:在阿里云或者是腾讯云都有免费证书的。(注:因为凯哥备案在阿里云。所以就基于AliYun申请的。)

2:登录阿里云-控制台-产品与服务-搜索SSL。如下图:

https://img1.sycdn.imooc.com//60346a8f0001599810680665.jpg

编辑

点击SSL证书(应用安全)后前往购买页。如下图:

https://img1.sycdn.imooc.com//60346a9000015bec04060184.jpg


选择:云盾证书资源包。如下图:

https://img1.sycdn.imooc.com//60346a90000163dd08780379.jpg


选择免费证书扩容包。如下图:

https://img1.sycdn.imooc.com//60346a90000153ac09790480.jpg


说明:一个自然年内可以领取一次数量为20的免费证书资源包。到自然年结束后,会自动清除.每个自然年是12月31日24:00

立即购买:

https://img1.sycdn.imooc.com//60346a910001415e09480417.jpg


购买成功后,等了管理控制台:

https://img1.sycdn.imooc.com//60346a91000129ef13000330.jpg


就可以看到证书资源包了。然后点击证书申请,就可以在下面证书管理列表中看到,新增加一条数据。如下图:

https://img1.sycdn.imooc.com//60346a910001fe8116270460.jpg


然后点击证书申请。会打开填写申请。如下图:

https://img1.sycdn.imooc.com//60346a920001457207160502.jpg


说明:

证书绑定域名:就是你需要绑定的域名

联系人和所在地,选择后,就可以。CRS生成方式不用修改。

填写完成后,会进入到验证信息。如下图:

https://img1.sycdn.imooc.com//60346a9200015af407360553.jpg


因为在上一步【CRS生成方式不用修改】我们选择的不是手动。所以,可以直接提交审核。

提交审核很快的。也就1-2分钟吧。如下图:

https://img1.sycdn.imooc.com//60346a920001b03e15830260.jpg


选择需要部署的域名后,选择下载。会打开具体部署方式的证书。然后选择对应的下载就可以。因为凯哥使用的是Nginx。所以下载的是Nginx的。如下图:

https://img1.sycdn.imooc.com//60346c2900019e4006240529.jpg


下载的是一个zip压缩包。将压缩包解压后,就可以得到对应的以PEM和KEY结尾的两个文件。如下图:

https://img1.sycdn.imooc.com//60346c2900016a8307130126.jpg


Nginx部署:

上传证书:

将解压得到的两个文件上传到服务器上。

如凯哥的上传目录:/usr/local/nginx/ssl/lingquan

说明:其中的lingquan是凯哥其中一个网站。如果有多个可以这样区分。

在Nginx的配置文件中配置:

因为凯哥使用的是宝塔面板。所以在宝塔面板对应网站之间修改。如下图:

https://img1.sycdn.imooc.com//60346c2a0001485f09990442.jpg


如果没有443的server节点添加。如果有,按照如下配置:

server {

listen 443 ssl;

server_name 你的域名;

root 你的项目根;

index index.html;

ssl_certificate /usr/local/nginx/ssl/xxx/xxx.pem;

ssl_certificate_key /usr/local/nginx/ssl/xxx/xxx.key;

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;

ssl_prefer_server_ciphers on;

}

如下图:

https://img1.sycdn.imooc.com//60346c2a0001bad207330222.jpg


说明:
ssl_certificate:是PEM文件的绝对路径

ssl_certificate_key:是KEY文件的绝对路径。

配置完成之后,重启Nginx。然后验证。使用https访问下你的域名。

验证是否配置成功

https://img1.sycdn.imooc.com//60346c2a00016c9f03930051.jpg


https://img1.sycdn.imooc.com//60346c2a0001d1cb03910521.jpg


可以看到使用https访问的时候,有个绿色的小锁。说明配置成功

http强制跳转到https配置:

有的时候,我们需要将http访问强制跳转到https的。配置如下:

server {

listen 80;

server_name 你到域名;

return 301 https://$host$request_uri;

}

https://img1.sycdn.imooc.com//60346c2a000182e704240110.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
13
获赞与收藏
23

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消