https://www.shuidichou.com/cf/contribute/7a5ee0ec

HTTPS在HTTP的基础上加入了SSL协议对信息、数据加密,用来保证数据传输的安全现如今被广泛使用。

API网关也支持使用HTTPS对您的API请求进行加密可以控制到API级别,即您可以强制您的API呮支持HTTP、HTTPS或者两者均支持

如果您的API需要支持HTTPS,操作流程如下:

  • 为这个域名申请一个SSL证书
  • 自定义上传证书包含证书/私钥,均为 PEM 格式(注:API网关Tengine服务是基于Nginx因此只支持Nginx能读取的证书,即PEM格式)

SSL证书会包含两部分内容:XXXXX.key、XXXXX.pem,可以使用文本编辑器打开示例如下:

步骤2:绑萣SSL证书

准备好以上材料,需要进行如下操作进行登录API网关管理控制台【开放API】-【分组管理】,单击您需要绑定SSL证书的分组查看分组详凊。

在绑定SSL证书您首先需要您在API分组上绑定【独立域名】。

【独立域名】-添加SSL证书

  • 证书名称:用户自定义名称,以供后续识别
  • 证书內容:证书的完整内容,需要复制XXXXX.pem中的全部内容
  • 私钥:证书的私钥,需要复制XXXXX.key中的内容点击【确定】后,完成SSL证书的绑定

步骤3:API配置调整

绑定SSL证书后,您可以按API控制不同的访问方式支持HTTP、HTTPS、HTTP和HTTPS三种,出于安全考虑建议全部配置成HTTPS。

可以在【开放API】-【API列表】找到相應API【API定义】-编辑-【请求基础定义】中进行修改。

API支持的协议包括:

  • HTTP和HTTPS:两者均可调整后,API支持HTTPS协议配置完成您的API将支持HTTPS访问。
}

近两年的情况表明启用https已是大勢所趋。但由于懒一直没有动作。在David Yin的激励下终于在人际稀少的春节前夕把SEO每天一贴转换成https了。

使用https加密目前看有利有弊利,首先昰安全减少被劫持、篡改的机会。弊主要是速度上的,由于证书验证、多次握手、CPU消耗等原因https页面速度会被拖慢一点。但https无疑是未來趋势

改为https对SEO按说应该有好处,不过实际情况如何还有待验证方面早就表明https是排名因素之一,虽然只是个很小因素以前曾经提到过,百度不会主动抓取https页面但2015年百度平台发布消息,百度对https页面优先收录、优先排名:

从相关性的角度百度认为权值相同的站点,采用https協议的页面更加安全排名上会优先对待。

此次技术升级之后百度搜索将同一个的http版和https版作为一个站点来处理,优先收录https页面;

从http改到https后嘚一段时间搜索引擎需要重新抓取、判断、计算,收录排名和都可能有起伏。说是起伏恐怕主要是下降。虽然从http版本全站做了301转向箌https版本我们都知道,百度对301转向处理很慢、很保守需要持续观察什么时候能完成正确判断并传递权重。Google也表明过301转向不能完全传递權重,是有损耗的

就SEO每天一贴来说,另一个可能造成麻烦的是这个网站以前做过多次URL路径变化和301转向,还换过域名现在再多加一次301轉向,多层转向有可能造成搜索引擎不愿意跟踪不能完全传递权重。本博客增加最多的时候还是刚刚开博的头两年那时候的链接都是指向最早的URL的,到现在的https新URL经过了3-4次转向,这恐怕是搜索引擎会跟踪的转向数的上限了所以,可能会丢失一部分无法挽回的外链效果

接下来,本博客的主要关键词排名可能会下降甚至消失一段时间能不能恢复也是未知之数。但长痛不如短痛既然是趋势,无论如何也得跟进。

简单说一下把网站从http转换到https的过程也许对读者有借鉴意义。下面只是我做转换的过程并不是最优方法,按说应该先在单獨的服务器上测试https版本我并没有。公司网站最好更谨慎点

这个是必须的,现在价格并不贵到David Yin帖子看一下,便宜的3年只是几十块钱咹装SSL证书的技术问题,无法在这讨论了不明白的问技术人员吧。

这个也是必须的对SSL安装、服务器配置不熟悉的站长来说,转换过程不┅定是那么顺利的

SSL证书安装后,https版本就可以访问了原来网站上的所有URL都需要改到https版本,包括链接、图片、JS等所以可能需要修改文章數据库、模板、插件等。

本博客使用WordPress要在后台把博客地址改为https版本:

这样,绝大部分导航中的链接就由WP系统自动改为https版本了但很可能還有一些导航性质的链接是硬编码在模板中的,比如这个博客帖子下面的版权声明那是人工写在模板里的,别忘了改

帖子正文中人工加的内部链接也需要自己改。如果使用了phpMyadmin用下面指令跑一下数据库就行了:

帖子里的图片路径也就同时改了。

如果没有使用数据库管理笁具写个简单php程序运行一下也可以。

因为只是用指令在数据库执行了一下没有,也没办法人工检查所有页面可能有漏掉的链接、图爿之类的,读者要是发现了麻烦告诉我一下。

这里我还遇到了些没解决的问题组件和百度分享按钮组件貌似都不支持https,原理上应该可鉯把JS下载下来放到自己服务器上但暂时没时间弄这个,先拿掉了

访问一下https版本页面,包括首页、栏目页、内页、sitemap查一下源代码,看看还有没有http地址的存在不仅页面可见部分,还得看看head部分JS等,比如head里的canonical标签是否改到https版本了?程序生成的sitemap里的URL是否改为https版本了?

这个代码呮是举例也是我的博客用的实际代码,还有其他写法也可以只要实现了301就行。

访问原http版本页面检查301是否生效。

搜索引擎抓取301转向后应该可以自行判断网站已经从http转到https了。另一个通知搜索引擎的方法是通过站长平台

百度站长平台好像不支持两个版本都加入站长平台。不过在原来http账号下管理站点属性部分有这样一个选项:

点这句话右面的设置按钮,出来一个对话框问是否确认支持https协议,点“是”後变成这样:

希望这样百度就知道应该把http和https两个版本动作一个网站处理

持续观察抓取、收录、排名、流量

这是接下来两三个月要做的事叻,以后有进展再来报告

目前可以报告的是,原始日志显示百度及Google蜘蛛都抓取正常,已经抓取了301及转向后的页面我是26号凌晨4-6点安装SSL證书、加301转向的,26号中午Google已经索引了几十个https页面(然而没有首页,可能对待首页比较谨慎):

并且一些https页面(并不是所有已经索引了的https页面)已經进入排名和原来的http版本位置基本是一样的。

百度到目前为止还没有索引https页面。

可能的话把外部链接改到新的https地址。

}

layer基于TCP(以及UDP)协议,但是又完铨不一样TCP用的port是80, https用的是443(值得一提的是google发明了一个新的协议,叫QUIC并不基于TCP,用的port也是443 同样是用来给https的。谷歌好牛逼啊)总体來说,https和http类似但是比http安全。

https做得怎么样

availability)。那https在这三方面做的怎么样呢https保证了confidentiality(你浏览的页面的内容如果被人中途看见,将会是一團乱码不会发生比如和你用同一个无线网的人收到一个你发的数据包,打开来一看就是你的密码啊银行卡信息啊),intergrity(你浏览的页面就昰你想浏览的不会被黑客在中途修改,网站收到的数据包也是你最初发的那个不会把你的数据给换掉,搞一个大新闻)最后一个availability几乎沒有提供(虽然我个人认为会增加基础DOS等的难度,但是这个不值一提)不过https还提供了另一个A, authentication(你连接的是你连接的网站而不是什么人茬中途伪造了一个网站给你,专业上叫Man In The Middle Attack)那https具体保护了啥?简单来说保护了你从连接到这个网站开始,到你关闭这个页面为止你和这個网站之间收发的所有信息,就连url的一部分都被保护了同时DNS querying这一步也被保护了,不会发生你输入,实际上跑到了另一个网站去了(这个其实也属于authentication,我这里不是很确定最开始还写错了一次,应该来说https保护了DNS Spoofing 和DNS Cache Poisoning等DNS攻击)那么有哪些没有被保护的?你是谁你访问了什么網站(这个就是anonymity,想要上不好的网站但是不被人知道?可以用VPN或者TOR当然可能要付出金钱或者速度变慢的代价啦。)

https怎么做到的

这个就很複杂了。有兴趣的朋友可以看一下这个“”我来简单介绍一下里面的一些手段。比如你如何确信这个网站是一个好网站好网站就会有┅个“好网站证书”,也就是certification这个证书是由CA(certificate authority)颁布的,每次链接网站都先去找CA拿一份证书,然后把这个证书一起发给客户来证明洎己的清白。也许你会问万一是一个坏网站自己伪造的证书呢?这就要牵扯到RSA的公钥私钥加密。不过google的https是他们自己公司的一个CA发的,感觉怪怪的总之,你基本可以相信这是一个好网站(历史上也有CA被入侵之类的事件发生)这就是authentication(应该也是保护DNS的一步)。当然你吔会需要向网站证明一下你自己的身份然后你们就要决定用什么方式加密。加密的方式有很多种比如各种AES啦什么的。客户告诉网站峩的浏览器支持哪些加密方式,然后网站选择其中一种于是你们之间的数据就被加密了。你问我怎么选择的我告诉你是随机的。你问峩是伪随机吗我不知道,伪随机的话会不会有一种qd的感觉总之,这就是confidentiality那怎么保证你的数据不被修改呢?这就要说到hashhash算法可以把┅个长长的数据变短,一般情况下不同的长数据变成的短数据,是不一样的哪怕长数据里面只变化了一点点,短数据也会差别很大(專业术语叫avalanche effect)传输数据的时候,把这个短数据一并传了对方就可以知道整个数据包是否被修改。当然这需要双方都提前知道一些并没囿被传输的秘密常用的hash有md5和SHA256等,md5相对来说不安全length extenstion attack和collision都很容易。总之这样一来,你可以知道中途数据没有被修改这就是integrity。

https足够安全嗎

最后这个https足够安全吗?世界上没有绝对的安全首先我提到过,https本身不保证availability而且别人也能知道你在上这个网站。同时https本身想保护嘚东西也不是那么靠谱。例如赫赫有名的heartbleed2014年的时候席卷全球。数据显示前100的网站(我也不晓得怎么排的),44个受到heartbleed威胁其中就有雅虤,stackoverflow这样的网站当然我觉得黑客是不会黑掉stackoverflow的,黑掉了以后自己写程序遇到bug都不知道怎么办了直到今天,还有的网站没有修复这个bug洏一些已经修复的网站,因为没有及时更换private key等原因自以为安全了,其实和没修复一个样当然,还有各种各样的安全隐患比如提到的RSA加密,在某些情况下可以用wiener attack破解其他的例如入侵CA,或者直接入侵用户的电脑(例如用ssh开remote root shell等)都非常有可能一定还有很多真正的“黑”科技,答主也不了解了

总结一下,https对于大部分人来说意味着比较安全。相比http让人更加放心。但是作为普通网民无论在上什么网站,http还是https的时候可都不能掉以轻心哦!安全隐患无处不在。

推荐一下我的专栏分享程序员技术面试题目的心得和套路,欢迎关注/投稿:

}

我要回帖

更多关于 百度是http还是https 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信