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

中凯_凯哥java 2021-02-23 10:45:55
nginx


网站由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。如下图:

 
编辑

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

 
编辑

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

 
编辑

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

 
编辑

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

立即购买:

 
编辑

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

 
编辑

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

 
编辑

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

 
编辑

说明:

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

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

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

 
编辑

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

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

 
编辑

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

 
编辑

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

 
编辑

Nginx部署:

上传证书:

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

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

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

在Nginx的配置文件中配置:

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

 
编辑

如果没有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;

}

如下图:

 
编辑

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

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

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

验证是否配置成功

 
编辑
 
编辑

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

http强制跳转到https配置:

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

server {

listen 80;

server_name 你到域名;

return 301 https:// h o s t host request_uri;

}

 
编辑
版权声明
本文为[中凯_凯哥java]所创,转载请带上原文链接,感谢
https://my.oschina.net/kaigejava/blog/4960088

  1. Svg editor -- new path
  2. Detailed explanation of debounce and throttle of JavaScript function
  3. Anti shake and throttling and corresponding react hooks package
  4. C2m: the first CSDN article moved to MOOC script 5000 words, detailed painstaking development process, there are renderings and source code at the end of the article
  5. Front end, school recruitment, Taobao, guide
  6. [vue2 & G6] get started quickly
  7. Canvas from the beginning to the pig
  8. Take five minutes to standardize the code comments?
  9. Some thoughts on sass
  10. what?! You haven't filled in the award information yet
  11. How to get the interface + tsdoc needed by TS through swagger
  12. Binary tree
  13. Canvas drawing method in Web screenshot
  14. Front end docker image volume optimization (node + nginx / node + multi-stage construction)
  15. Become a big influence of technology? Coding pages quickly build personal blog
  16. Object and array deconstruction, spread operator, rest operator
  17. Analysis of Axios source code
  18. Two ways to delete useless code in project (Practical)
  19. Edit your picture with canvas
  20. Today's chat: 2-4 years to walk out of the resignation dilemma and comfort zone
  21. JS mechanism 3: stack, heap, garbage collection
  22. [grid compression evaluation] meshquan, meshopt, Draco
  23. Deep understanding of Vue modifier sync [Vue sync modifier example]
  24. WebView for front end engineers
  25. React form source code reading notes
  26. Deep thinking about modern package manager -- why do I recommend pnpm instead of NPM / yarn?
  27. On the sequence of event capture and event bubbling
  28. Help you build a systematic understanding of the front end scaffolding
  29. commander.js Principle analysis
  30. Common usage of nginx
  31. H5 jump to wechat app
  32. Front end algorithm interview must brush questions series [14]
  33. Thinking of cross end practice
  34. Vue server rendering principle analysis and introduction
  35. [KT] vscode plug in development example series (2)
  36. Design ideas of react and Vue framework
  37. JavaScript String.prototype.replaceAll 兼容性导致的问题
  38. JavaScript String.prototype.replaceAll Problems caused by compatibility
  39. 爱奇艺体育:体验Serverless极致扩缩容,资源利用率提升40%
  40. Iqiyi Sports: experience the ultimate expansion and contraction of serverless, and increase the utilization rate of resources by 40%
  41. 对前端异常window error捕获的全面总结
  42. A comprehensive summary of front end exception window error capture
  43. 成功解决Problem while trying to mount target]\“. HTTP response code is 400
  44. Problem while trying to mount target] \ ". HTTP response code is 400
  45. 放弃okhttp、httpClient,选择了这个牛逼的神仙工具!贼爽
  46. 前端面试每日 3+1 —— 第679天
  47. How to add elements at the beginning of an array in JS?
  48. Give up okhttp and httpclient and choose this awesome immortal tool! Thief Shuang
  49. Front end interview daily 3 + 1 - day 679
  50. 【2021 第一期】日常开发 26 个常见的 JavaScript 代码优化方案
  51. Daily development of 26 common JavaScript code optimization schemes
  52. 前端的字符串时间如何自动转换为后端Java的Date属性,介绍springMVC中如何解决时间转换问题
  53. How to automatically convert the front-end string time to the back-end Java date attribute, and how to solve the time conversion problem in spring MVC are introduced
  54. 前端面试常考题:JS垃圾回收机制
  55. ReactDOM.render串联渲染链路(一)
  56. 更简洁、更快速!腾讯云 Serverless 云函数创建流程再次升级!
  57. 粗涉Webpack
  58. Frequently asked questions in front end interview: JS garbage collection mechanism
  59. ReactDOM.render Serial rendering link (1)
  60. More concise and faster! Tencent cloud serverless cloud function creation process upgrade again!