为什么要把网站升级到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

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

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