使用certbot为你的网站免费上https

news/2024/4/29 3:55:04/文章来源:https://blog.csdn.net/weixin_33762130/article/details/89046132

关于作者

程序开发人员,不拘泥于语言与技术,目前主要从事PHP和前端开发,使用Laravel和VueJs,App端使用Apicloud/Cordova混合式开发。合适和够用是永不停息的追求。

个人网站:https://www.linganmin.cn

什么是https

引自维基百科
超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS)是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来对数据包进行加密。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。
HTTPS的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的防护。

HTTPS的信任继承基于预先安装在浏览器中的证书颁发机构(如VeriSign、Microsoft等)(意即“我信任证书颁发机构告诉我应该信任的”)。因此,一个到某网站的HTTPS连接可被信任,当且仅当:
用户相信他们的浏览器正确实现了HTTPS且安装了正确的证书颁发机构;
用户相信证书颁发机构仅信任合法的网站;
被访问的网站提供了一个有效的证书,意即,它是由一个被信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);
该证书正确地验证了被访问的网站(如,访问https://example时收到了给“Example Inc.”而不是其它组织的证书);
或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层(TLS或SSL)不能被窃听者破坏。
HTTPS不应与在 RFC 2660 中定义的安全超文本传输协议(S-HTTP)相混淆。

http和https去区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS和HTTP的区别主要如下:

  1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

https工作原理

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

  • 客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
  • Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
  • 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  • 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
  • Web服务器利用自己的私钥解密出会话密钥。
  • Web服务器利用会话密钥加密与客户端之间的通信。

关于TLS/SSL

传输层安全协议(英语:Transport Layer Security,缩写:TLS),及其前身安全套接层(Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障

为什么要部署https

说到底,就是 https 更安全。甚至为了安全,一个专业可靠的网站, https 是必须的。 Firefox 和 Chrome 都计划将没有配置 SSL 加密的 http 网站标记为不安全(貌似 Firefox 50 已经这么干了),目前它们也正在联合其他相关的基金会与公司推动整个互联网 https 化,现在大家访问的一些主要的网站。如 Google 多年前就已经全部启用 https ,国内的淘宝、搜狗、知乎、百度等等也全面 https 了。甚至 Google 的搜索结果也正在给予 https 的网站更高的排名和优先收录权。

怎么部署 https 呢

你只需要有一张被信任的 CA ( Certificate Authority )也就是证书授权中心颁发的 SSL 安全证书,并且将它部署到你的网站服务器上。一旦部署成功后,当用户访问你的网站时,浏览器会在显示的网址前加一把小绿锁,表明这个网站是安全的,当然同时你也会看到网址前的前缀变成了 https ,不再是 http 了。

怎么获得 SSL 安全证书

理论上,我们自己也可以签发 SSL 安全证书,但是我们自己签发的安全证书不会被主流的浏览器信任,所以我们需要被信任的证书授权中心( CA )签发的安全证书。而一般的 SSL 安全证书签发服务都比较贵,比如 Godaddy 、 GlobalSign 等机构签发的证书一般都需要20美金一年甚至更贵,不过为了加快推广 https 的普及, EEF 电子前哨基金会、 Mozilla 基金会和美国密歇根大学成立了一个公益组织叫 ISRG ( Internet Security Research Group ),这个组织从 2015 年开始推出了 Let’s Encrypt 免费证书。这个免费证书不仅免费,而且还相当好用,所以我们就可以利用 Let’s Encrypt 提供的免费证书部署 https 了

Let’s Encrypt 及 Certbot 简介

Let’s Encrypt 是 一个叫 ISRG ( Internet Security Research Group ,互联网安全研究小组)的组织推出的免费安全证书计划。参与这个计划的组织和公司可以说是互联网顶顶重要的先驱,除了前文提到的三个牛气哄哄的发起单位外,后来又有思科(全球网络设备制造商执牛耳者)、 Akamai 加入,甚至连 Linux 基金会也加入了合作,这些大牌组织的加入保证了这个项目的可信度和可持续性。

Certbot 使用方法

Certbot 的官方网站是 https://certbot.eff.org/ ,打开这个链接选择自己使用的 web server 和操作系统,EFF 官方会给出详细的使用方法,如下图

开始安装https

假设运行环境为centos7.1,Web 服务器是 Nginx 1.12.0(因为我的生产环境是),当前工作目录为 /root

  1. 获取certbot客户端
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
  1. 停止nginxyunx
service nginx stop
  1. 生成证书
./certbot-auto certonly --standalone --email `你的邮箱地址` -d `你的域名地址`

当前网站有多个域名时需在后面增加,例如

./certbot-auto certonly --standalone --email `你的邮箱地址` -d `你的域名1` -d `你的域名2`
  1. 查看生产的证书
tree /etc/letsencrypt/live/
  1. 将证书用于nginx

在nginx网站配置文件中增加

 # TLS 基本设置
ssl_certificate /etc/letsencrypt/live/www.just4fun.site/fullchain.pem;#证书位置
ssl_certificate_key /etc/letsencrypt/live/www.just4fun.site/privkey.pem;# 证书位置
启动nginx
service nginx start

至此https配置完成

证书续签

Let’s Encrypt 生成的免费证书为3个月时间,但是我们可以无限次续签证书

./certbot-auto renew 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_792452.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云服务器 ECS 建站教程:部署RabbitMQ

部署RabbitMQRabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP 等,支持 AJAX。用于在分布式系统中存储转发消息&am…

2017年最受欢迎的10个编程挑战网站

2019独角兽企业重金招聘Python工程师标准>>> 1.TopCoder TopCoder是最开始的在线竞技编程平台之一。它提供了很多的算法挑战,用户可以使用平台上的编辑器直接完成挑战。每个月该平台会提供几次它们最受欢迎的Single Round Matches,比赛要求用…

将网站迁移到另一台服务器,宝塔服务器怎么迁移到另一台服务器? | MGDSS

重要提醒:虽然一键迁移迁移数据不涉及原来数据的增删(是将原来数据打包发送)但是我们还是要以防万一。操作前:芒果大叔不管你是什么人,都必须先备份。 如果是阿里服务器 请创建快照,或其他方式备份。数据为先操作前:芒…

CDN+DNS主从/视图+squid反向代理+nginx负载均衡+httpd/nginx/tomcat网站搭建+iscsi后端存储...

1)硬件环境 Windowsxp2)软件环境 CentOS6864 3)项目名称 我叫超级无敌变态实验4)项目描述DNS主从DNS视图两个Squid反向代理Nginx负载均衡Httpd/Nginx/Tomcat部署ISCSI后端存储5)配置步骤 A、用Visio规划好整体架构…

支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

前言 在上一篇文章《微信支付之扫码支付、公众号支付、H5支付、小程序支付相关业务流程分析总结》中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付,当然也是每个公司少不了的第三方支付接入…

大型网站架构面试要点

2019独角兽企业重金招聘Python工程师标准>>> 分层 分割 分布式 集群 缓存 异步 冗余 自动化 安全 大型网站架构要素 性能 性能的指标:响应时间、并发数、吞吐量、性能计数器 转载于:https://my.oschina.net/u/3421984/blog/1635800

IC设计方面资源的好网站

2019独角兽企业重金招聘Python工程师标准>>> http://www.ictown.com/ 转载于:https://my.oschina.net/u/2963604/blog/2120219

利用PHP扩展Taint找出网站的潜在安全漏洞实践

一、背景 笔者从接触计算机后就对网络安全一直比较感兴趣,在做PHP开发后对WEB安全一直比较关注,2016时无意中发现Taint这个扩展,体验之后发现确实好用;不过当时在查询相关资料时候发现关注此扩展的人数并不多;最近因为…

快速找出网站中可能存在的XSS漏洞实践(一)

一、背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录下来,方便自己也方便…

通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

一、背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘、工具挖掘、代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/1190000016…

通过代码审计找出网站中的XSS漏洞实战(三)

一、背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘、工具挖掘、代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为快速找出网站中可能存在的XSS漏洞实践…

通过代码审计找出网站中的XSS漏洞实战(三)

一、背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘、工具挖掘、代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为快速找出网站中可能存在的XSS漏洞实践…

阿里云快速网站搭建详解

一、网站建站流程 主要步骤: 要有一个域名购买主机要有数据库,一般购买主机赠送解析域名下载网站程序(演示用的WordPress)上传程序安装程序(配置数据库、网站基本信息、管理员信息等)二、DNS服务器快速入门 DNS服务概述 DNS(Domain Name System)域名系统,在TCP/IP 网…

网易易盾推出政企网站安全方案 主打主动治理、防篡改

今天,网站已经成为企业、政府、教育等机构必备的“生产资料”,它是信息展示、服务提供、营销宣传以及企业形象的重要渠道。然而,如此重要的对外窗口,在今天仍遭受连绵不绝的网站篡改等安全事件。 网页篡改是指恶意破坏或更改网页内…

VS2012 发布网站步骤

VS2012中发布网站的方式与以往有了不同,前面的版本发布如图 而2012点publish的时候弹出框有所不同,这边需要新建一个profile名字随便起,发布的方式有好几种, 当然不同的方式配置不同,用的最多的就是files system了 选择…

在Github上搭建自己的博客网站

程序员都应该有写博客的习惯,博客可以作为知识管理,提升自己。当然写博客的地方有很多,CSDN,博客园以及新浪,网易等等。但是如果使用Github Pages来搭建一个有自己域名的独立网站,会不会更加炫酷呢&#xf…

使用七牛云存储在网站中进行图片外链

在CSDN中写博客,如果想在文章中插入一张图片,其实是非常简单的,只要从你本机进行图片选择,然后选择上传,图片就会上传到CSDN的服务器,到时候在文章显示的时候就会读取该图片。但是如果是在自己的搭建的网站…

使用百度统计对网站进行流量分析和统计

在自己建立一个网站后,最关心的问题就是到底有多少人访问了我的网站,也就是我的网站的流量到底是多少。以此可以不断进行完善和优化。这里将会使用百度的两个统计工具:百度统计和百度站长来进行分析。以我自己的建立的基于Hexo博客网站 : htt…

按钮制作网站收集

As Button Generator is the Button Generator 网站地址:http://jirox.net/AsButtonGen/ FlashButton.com free Animated Flash Buttons Menu Generator 网站地址:http://www.flashbuttons.com/ Da Button Factory Create pretty buttons online, quickl…

Logo在线制作网站收集

Supalogo - create nice logo 简单的Logo在线生成器 网站地址:http://supalogo.com/ 效果: 网站预览图: 说明一点就是,该网站也支持中文,日文等等。不过格式只有一两种。 Logo Ease -Free Logo Design Logo Ease…