为什么要把网站升级到HTTPS

 [[202583]]

笔者最近把博客网站升级到了https:https://fed.renren.com,为什么要升级呢?

举一个最简单的例子,当我打开这个网页的时候:在网页的右下角会显示一个广告:

但是这个网站是美国的:

为什么中国的广告会打到美国去了?并且不止一个网站有这个问题,自己的博客网站在我家打开经常也会有这个问题,经常会弹一些广告,这是为什么呢?

因为网站被运营商劫持了,它往你的html里面注入了一段广告的html,如下图所示:

 

这个时候运营商就相当于一个中间人,如下图所示:

这个我在《https连接的前几毫秒发生了什么》已经介绍过,不过不太一样的是,由于中间人的身份比较特殊,是运营商,所以它是在正常的连接上面的。也可以说由于运营商暗地里做了劫持,你也可以认为它不是一个正常的连接了。

不管怎么样,这种劫持也叫http劫持只发生在http连接上,而https的连接是没这个问题的,基本只要打开的是https的网页都不会被注入广告。因为传输的数据都是加密的,中间人收到的是一串无法解密的文本,它也不知道怎么篡改。

防火防盗防运营商,但是注入广告还算是小事,因为如果是http连接你的数据在网络上都是明文传输的,包括你的密码等敏感信息,你和服务器之间经过的路由都可以嗅探到你的数据,可以做些修改如嵌入一个广告,做一些破坏,或者只单纯的抓取信息如邮件内容、账号密码等。所以使用https是很有必要的,火狐会在非https的网页的密码输入框提示不安全:

Chrome/firefox等浏览器会在较明显的位置提示当前http网站不安全,只要点一下地址栏左边的i按钮就会弹出来:

并且https的网站能够提升SEO。

在外面连的公共wifi,使用https能够减少账号信息被盗的风险,但也不是100%安全,因为它可以用其它的方式如在你的设备上种植木马等获取和控制你的账号。

不管怎么样,搞一个https还是很有必要的,至少不要让别人以为那个广告是你自己的网站打的。那怎么建立一个https的网站呢?我在《https连接的前几毫秒发生了什么》已经简单介绍过,需要购买SSL的证书,网上也有一些免费的证书。在某家证书购买机构可以看到证书的分类和价格:

证书分为三种dv(域名型)、ov(企业型)和ev(增强型),dv是最简单的只要有一个可以访问的域名就可以申请,而ov是给企业用的,申请比较严格需要提供企业的相关材料,ev可以在地址栏上显示公司的名字,如sitepoint.com。对于我们这种小博客网站搞一个dv型的就可以了。

有一个免费的dv型证书颁发机构叫letsencrypt,它可以提供三个月的免费使用,到期了再续一下就行,所以说它是免费的。而且安装和申请非常简单,使用certbot安装。下面简单介绍下安装过程:

先打开certbot的网站,选择你的操作系统,如笔者用的是centos + nginx:

然后它就会提示你怎么装了,先下载一个编译好的可执行文件:

  1. wget https://dl.eff.org/certbot-auto 
  2. chmod a+x certbot-auto 

然后再执行安装的命令:

  1. sudo ./path/to/certbot-auto --nginx 

它会先安装一些python的包,之后会让你输入你的邮箱,然后自动去找你的nginx配置文件,找出里面的server的域名列出来,让你选哪个要安装https证书:

  • Which names would you like to activate HTTPS for?
  • ——————————————————————————-
  • 1: fed.renren.com
  • ——————————————————————————-
  • Select the appropriate numbers separated by commas and/or spaces, or leave input
  • blank to select all options shown (Enter ‘c’ to cancel):

选好了之后它就会去申请证书,然后检验域名的合法性,如果报了连接超时的错误:

  • – The following errors were reported by the server:
  • Domain: trumporate.com
  • Type: connection
  • Detail: Timeout

那么很可能是防火墙iptables的443端口没有开放,只要把它和80端口一样开放一下就好了。

成功验证后它就会把SSL的证书下载下来,同时给nginx的添加ssl的配置:

  1. listen 443 ssl; # managed by Certbot 
  2. ssl_certificate /etc/letsencrypt/live/fed.renren.com/fullchain.pem; # managed by Certbot 
  3. ssl_certificate_key /etc/letsencrypt/live/fed.renren.com/privkey.pem; # managed by Certbot 
  4. include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot 

还会提示是否要把http的重定向到https,如果选是的话,它就会添加以下nginx配置:

  1. if ($scheme != "https") { 
  2.     return 301 https://$host$request_uri; 
  3. } # managed by Certbot 

301表示资源***转移,浏览器收到301响应之后就会自动做重定向。

由于网站的很多图片的地址是http的已经固化到数据库里面,导致需要在https的网页里加载http的图片,这样即使是配了证书,浏览器也会提示不安全,浏览器地址样栏的小锁也没有了:

如果手动去改数据库会比较麻烦,有个比较简单的方法就是使用让http升级的meta标签:

  1. <meta http-equiv="Content-Security-Policy"  
  2.     content="upgrade-insecure-requests"

这样页面上所有的http请求都会强制变成https的请求。如果某些请求的服务器不支持https那这些请求就会挂掉,但我这个网站没有这个问题。

这样就愉快地把网站免费升级成https了:

在浏览器查看证书:

https升级后的问题是:加密和解密需要占用更多的CPU,并且加密后的数据会变大,但是据笔者观察加上gzip压缩之后,https传输的内容大小几乎和http一样。除了正常的tcp连接之外,还要建立ssl连接,这个时间一般在0.3s ~ 0.5s左右,这个是需要付出点代价的,但是由于浏览器左下角会提示用户“正在建立安全连接”,有一个缓冲的过程,所以其实还好。

【本文是专栏作者“人人网FED”的原创稿件,转载请通过联系原作者获取授权】

戳这里,看该作者更多好文

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/152788.html<

(0)
运维的头像运维
上一篇2025-03-14 04:14
下一篇 2025-03-14 04:16

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注