给自己的网站添加HTTPS / 优化 / 续约

news/2024/5/16 12:04:26/文章来源:https://blog.csdn.net/TSTNOE/article/details/81545923

写在前面

  • 这里面我主要是自己独立的服务器添加HTTPS支持,关于对GitHub个人站点添加的以后再写。
  • 我的笔记和操作使用的是免费的域名和免费的HTTPS证书,但是操作对于所有的来说都是一样的。
  • 证书基于 TrustAsia, 别的都差不多的。
  • VPS 上用的LNMP建站。

用到的站点和准备工作

  • 服务器: 搬瓦工
  • 域名供应商:Freenom
  • HTTPS证书支持:FreeSSL.org
  • 各个网站的账号和权限,域名解析这里就不写了,可以参考另一篇文章

操作步骤

  1. 首先一定要做的是给自己的网址进行解析好,也就是通过网址能够直接访问到网站 . 然后来到 FreeSSl 这个网站,网站操作很直白,首页填入你自己的域名(一般都是自己拥有的顶级域名,类似于 fancyking.ml 这种,而不是二、三级域名,www可以在以后301重定向过来)。 TrustAsia提供的是双域名支持, Let's Encrypt 提供的是多域名的支持,目前是最好申请V2 的多域名通配符版本。我这里拿的是亚洲诚信。
  2. 之后,输入邮箱,他会根据你的邮箱去给你证书,证书的生成参数没有特殊需求的话用他的默认参数就行,有的话就按照需求。
  3. 他会让你去证明网站的归属权,这里我选择的是DNS的验证证书,所以我需要把DNS域名的解析加上一条TXT记录,记录的值他会给你,按照他说的配置好DNS那边就好 (如果是国外的DNS解析,就像FreeNom,生效可能比较慢,这个一种方法就是使用其他的解析服务,比如说DNSPOD+或者CLOUDXNS或者其他的方法来加速解析生效,要不你就等一会儿,反正验证失败之后一天内也可以再次在订单列表中验证,但是注意尽量间隔10分钟以上)
  4. 验证成功之后你就会发现你可以下载证书文件(私钥自己看着添加吧,我没加)了,在订单列表中,下载证书,应该会得到压缩包:chain.zip . 第一次下载的包里面会有两个文件,一个 chain.pemprivate.key,(得到crt 文件的一样,就是类型不同,其中 chain.pem 是我们的证书文件,它是一个包含中间证书的证书链文件。所以,当你的服务器需要三个文件时,你可以将 chain.pem 拆分为两个文件,比如 cert.pem(前部分) 和 ca.pem(后部分)。pem 是兼容 crt 的,也就是 pem 重命名就可以得到有效的 crt 文件) (注意的是,key 文件只有第一次下载的时候有!!!丢失了无法寻找,他网站那边也不留下!!!) . 上传证书文件到服务器,可以不是当前网站目录,在VPS上就好。
  5. 按照站点建立方式的不同,使自己的站点证书指向为当前服务器的绝对地址!下面按照我的LNMP给出。
  6. 一种是有了SSL证书再去建站,这个在LNMP上配置很简单,因为是引导式船创建站点,所以他会问你是不是要求支持SSL,这个时候,会有两个选项,一个是自动去Let’s Encrypt 得到证书,这种就是傻瓜式的,输入一个邮箱就好;另一种就是自己获取的SSL证书,填入绝对路径就好
  7. 另一种就是给现有的网站加入SSL,也很简单,使用命令 lnmp ssl add 然后按照步骤操作就好了。安装需要等一会儿。

强制使用HTTPS访问

经过上面的配置,我发现通过HTTPS的域名访问确实很正常, 但是一但输入的是没有加HTTPS的域名的话,还是不会验证SSL证书,所以需要手动的强制都走 https 的域名访问,方法301重定向如下:

  1. /usr/local/nginx/conf/vhost 目录下,找到自己的站点配置文件 比如我的就是 fancyking.ml.conf . 然后在不是SSL的那个server(一般是第一个),里面,加上一行,位置如图片所示: 第七行的 return 301 https……

blob.jpg

关于网站 SSL 验证更加严谨

  • 这里主要是根据 MySSL 的评测进行的。如果仅仅经过上面的配置评测并不是 A+级别的,也不都是可信或者全绿,既然都上SSL了,那就把他弄的好点吧。

我的网站的评测信息 : HERF

  • 关于TSL协议版本

目前 PCIDSS已经将 TLSv1.0 判定为不合规,所以为了增加网站安全,适合行业标准,禁用 TLSv1.0协议,默认指定主流2.0协议,在 Nginx的conf文件 中加入下面的语句

ssl_protocols                TLSv1.1 TLSv1.2 TLSv1.3;

现在主流的浏览器都支持更高版本的TLS,具体业务不支持的可以在网站评测的客户端握手模拟上看到

  • 开启HSTS

HSTS是TLS的安全保护,保证在配置或者实现错误的情况下,网站仍然按照高安全性访问,具体的功能和不足可以看维基百科
开启HSTS的话,依然是在 conf 文件加入一句话,如下

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

上述语句加入生效后,用户在访问过一次网站接收到证书信息和响应头之后,在接下来指定的时间(31536000即一年)中,用户只能通过HTTPS访问网站,比重定向更加安全,并且在指定时间内如果网站证书出了问题,用户无法绕过浏览器警告去访问网站

Let’s Encrypt证书续约

  • 我一开始申请证书的地方无法在不到期的情况下进行续约认证,所以这次学习了一下代码续约,用到的是Certbot,项目在Github,帮助文档在Docs
  • 安装是交互式的,一般不会出大的问题,就简单说几种情况
    • 参数
      • run 获取并安装证书到当前的域名和网站目录
      • certonly 获取和续约证书,不进行安装
      • renew 在证书未过期时,续约之前获取的所有证书
      • -d 后面跟一个网址,每一个域名前面都必须有-d
      • –standlone 使用独立的web server来验证
    • 续约或者获取过程有时会监听80端口,如果一直出问题的话,先把Nginx关了试一下
    • 我最后使用的成功续约的命令如下
    ./certbot-auto certonly --renew-by-default --email my_email -d fancyking.ml -d www.fancyking.ml
    
    • 证书无论是通过Certbot还是在别的网站上获取了,在Nginx的配置文件中指定SSL的证书公钥私钥存放地址即可,注意开放443,强行使用HTTPS看上面的操作,指定证书语句
    ssl_certificate /etc/letsencrypt/live/lfancyking.ml/fullchain.pem;
    

ssl_certificate_key /etc/letsencrypt/live/fancyking.ml/privkey.pem;
```

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

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

相关文章

使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置

注:在阅读本文前,请先阅读: 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 访问GitHub下载最新源码:https://github.com/gauss…

大型网站应用之海量数据和高并发解决方案总结一二

一、网站应用背景 开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器一台数据库服务器一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能&…

Yupoo! 的网站技术架构

作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/arch/yupoo_arch.html 又有机会爆料国内 Web 2.0 网站的架构了。这次是 Yupoo! 。非正式的采访了一下 Yupoo!(又拍网) 的创建人之一的 阿华(沈志…

.NET 发布网站步骤

本文章分为三个部分: web网站发布、IIS6 安装方法、ASP.NET v4.0 安装方法 一、web网站发布 1.打开 Visual Studio 2013 编译环境 2.在其解决方案上右击弹出重新生成解决方案,以查看是否有错误 3.如果项目没有错误右击WebUI层发布

新概念绿色上网工具,向网站病毒say no

Dear All: 近來很多網站都含有病毒或木馬程式,而上網者多數都是用超級用戶或power user的權限上網,中招後惡意程序會更改windows系統,或設置一些木馬程序.用戶電腦的資料完全暴露,而且還要忍受廣告困擾,雖然裝有防毒軟件,但防毒軟件也不是萬能,特別是木馬程序,經常變化.所以用戶…

PHP——网站构成即LAMP基础知识

网站的构成: 客户端IE/FireFox/Safari等多种浏览器 超文本标记语言HTML 层叠样式表CSS 客户端脚本编程语言JavaScript/VBScript/Applet等中的一种 Web服务器Apache/ Nginx/TomCat/IIS等中的一种 服务器端编程语言PHP/JSP/ASP等中的一种 数据库管理系统MySQL…

网站架构的伸缩性设计

网站开发初期,我们习惯性把所有代码都写到一个项目中。 前台、后台、缓存、数据库、静态资源... 等等。 网站系统物理分离 慢慢的系统会原来越大,很显然需要面对大量用户的高并发访问和存储海量数据。 很多用户的请求,不可能在一台服务器上…

以电商网站为例,谈大型分布式架构设计与优化

本文大纲: 目录 一、使用电商案例的原因 二、电商网站需求 三、网站初级架构 四、系统容量预估 五、网站架构分析 六.网站架构优化 本文主题为电商网站架构案例,将介绍如何从电商网站的需求,到单机架构,逐步演变为常用的、…

使用cloudflare+wzfou为自己的网站配置CDN加速

本文同步于个人博客 : 蝴蝶飞不过沧海 | Blog 本文链接 泛播 Cloudflare 挖站否 Wzfou 为什么用到挖站否?单独泛播不就可以作cdn加速吗? 众所周知泛播(cloudflare)国外知名免费cdn服务商无需网站备案 但有个缺点就是单独使用泛播&…

企业网站建设需要做哪些前期准备工作?

随着互联网的发展,制作官方网站已经成了众多企业的需求。定制企业网站有助于提升企业形象,增加品牌曝光度,配合网络营销,可以给企业带来更多的业务。很多企业选择了外包给专业的开发公司来定制自己的网站,但并不是说所…

程序员应该熟知的网站TIOBE

TIOBE TIOBE 排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编…

使用Chrome浏览器查看淘宝的IPhone版网站

用IPhone手机访问http://m.taobao.com ,淘宝的设计已经达到了和APP相媲美的地步。多次想查看其源码学习,单无奈用PC浏览器访问该网址,出现的是一个比较简化的wap2.0版本的。经过若干的夜晚的冥思苦想,终于想出了解决方案。 1.IPho…

Springboot+Vue开发旅游网站

项目简介 所需技术栈: 后端技术栈:springboot mybatis 前后端分离:axios、json 前端技术栈、技术架构:Vue、node.js 前置知识: 了解 Vue 组件之前的知识 对 springboot mybatis 较熟悉 开发流程: 需求…

spring boot酷炫小说网站 包括 PC网站端 和 移动端可做毕设

spring bootspring mvcspring整合开发微信小程序(含简单服务端) 项目描述: spring bootspring mvcspring酷炫小说网站,然后提供给微信小程序做显示 运行环境: jdk8IntelliJ IDEAmaven 项目技术: spring bootspring mvcspring 数据库文件:…

高可用Hadoop平台-实战(电商网站的用户行为分析)

今天要和大家分享的案例是一个基于电商网站的用户行为分析,这里分析的指标包含以下指标: 统计每日PV每日注册用户每日IP跳出用户 其他指标可以参考上述4个指标进行拓展,下面我们开始今天的分析之旅。 2.流程 首先,在开发之前我们…

网站日志分析项目案例(一)项目介绍

一、数据情况分析 1.1 数据情况回顾 该论坛数据有两部分: (1)历史数据约56GB,统计到2012-05-29。这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式。 (2&a…

网站日志分析项目案例(二)数据清洗

一、数据情况分析 1.1 数据情况回顾 该论坛数据有两部分: (1)历史数据约56GB,统计到2012-05-29。这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式。 (2&a…

网站日志分析项目案例(三)统计分析

一、借助Hive进行统计 1.1 准备工作:建立分区表 为了能够借助Hive进行统计分析,首先我们需要将清洗后的数据存入Hive中,那么我们需要先建立一张表。这里我们选择分区表,以日期作为分区的指标,建表语句如下:…

提高网站速度的最佳实践

原版见:http://developer.yahoo.com/performance/rules.html ,是Yahoo 人写的《提高网站速度的最佳实践》共有 14 条。 以下是中文版 相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax,flex等等富客户端的应用使得人们越加“幸福”…

网站的分布式架构

互联网的网站和大部分企业管理软件一样都是使用B/S架构模型,但是大型的公共网站B/S架构会更加复杂,对架构人员的要求更高,今天我想在自己博客里聊聊我设计的网站的B/S技术架构。 不管是B/S架构的企业管理系统还是网站技术架构可以抽象为如下简…