百度嵌入式站内搜索https化实践分享

百度站内嵌入式搜索,相信很多网站都已经用了有一段时间了。可惜在百度自己大力提倡网站https化的同时,百度的周边产品却自己打脸了,完全跟不上进度。百度嵌入式站内搜索https化实践分享

不得不说,百度这个嵌入式站内搜索给了网站更多的DIY遐想,让搜索更加贴合各种主题,原汁原味:百度嵌入式站内搜索https化实践分享

Ps:预览地址:https://zhangge.net/search.html ,怎么制作这里就不赘述了,请参考本站历史教程

这玩意好是好,但是不支持https!不过,我们可以有多种办法来变相实现。比如,利用七牛将百度分享https化、利用七牛将百度打赏https化,貌似七牛无所不能哦?

这里,当然也是可以利用七牛来解决问题,但是我并不想“邯郸学步”,所以这里打算用Nginx来实现。

一、改造原理

Ps:只求结果,不求过程的朋友请忽略此段啰嗦内容!

由于百度站内嵌入式搜索不支持https,那么就算把主js(iframe.js)本地化或者七牛化,也只是这一个文件实现了https!从这个js加载出来的图片等各种资源却还是调用的百度的http资源!因此,我们得分析这个js会调用的资源,然后全部https化。

百度嵌入式搜索其实就一个主js:http://zhannei.baidu.com/static/js/iframe.js,我们把它下载到本地,然后将其中的百度静态域名全部清空,只保留相对路径。比如:http://zhannei.baidu.com/customer_search/***,我们需要删除协议和域名部分,改成 /customer_search/*** 这种相对路径,这样我们才可以实现 Nginx 反代,七牛也是一样原理。

可能,光从肉眼去看js具体调用了哪些静态资源是比较困难苦逼的,这是我们可以将js上传到本地,然后将百度嵌入式代码改成本地js,刷新前台的时候就可以在F12控制台去看某某资源因为不是https被拦截了,这样就知道哪些资源还需要继续改造了!

二、改造代码

既然分享,说明第一步的苦逼工作也已经做过了,直接分享代码:

将以上代码保存为js文件,比如 baidusearch.js ,然后上传到服务器网站目录,(推荐放于主题下,比如:/wp-content/themes/begin/js/baidusearch.js)

然后,将百度站内嵌入式搜索代码中的iframe.js地址替换为以上js地址,到此完成网站代码部分改造:

Ps:更多内容,请参考本站历史教程

三、反向代理

第二步还只是将相关资源全部指向了本地,所以下面需要改造Nginx,将这些指向全部反代到百度站内搜索,修改很简单,将以下Nginx代码添加到网站Nginx配置的 location / { 之前:

如果,Nginx集成了ngx_cache_purge 缓存模块,那么可以将上述代码中的缓存规则打开,避免每次搜索还要到百度去请求资源【相关教程】!

规则添加后,重启或重载Nginx即可生效。这时候,https前台就能正常使用百度嵌入式站内搜索了!

四、更多花絮

https实现了,但是还是有些瑕疵,那就是搜索结果中缩略图默认使用https协议,可能会被浏览器拦截。在张戈博客应用这个改造后,发现大部分缩略图居然返回403禁止了,仔细看了下,大部分如下形式:

http://i8.baidu.com/it/u=1582249672,3936911246&fm=85&s=6BAAA3475C1300C649B5710B0100E09

看来是百度站内搜索zhannei.baidu.com开启了防盗链机制,自己不支持https,还不让别人改造么?于是直接给站内搜索管理员发了一份邮件:百度嵌入式站内搜索https化实践分享

目前,站内搜索确实取消防盗链了,虽然管理员牛逼哄哄的也没回我邮件。。。

虽然不再禁止访问了,但里面的图片依然是http协议的,严格的浏览器还是会禁止加载,不过对于完全不能用来说,这个瑕疵还算可以忍受!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:48   其中:访客  45   博主  3

  1. 憧憬Licoy 4 来自天朝的朋友 火狐浏览器 Windows 10 四川省 电信

    够折腾

  2. 龙笑天 4 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市 电信

    百度收录的文章太少了,我就换成了360搜索了~~ :razz:
    PS:你的滑动解锁在我的Firefox 28上解锁后不提及评论,停在那了~~!

    • 热腾网 4 来自天朝的朋友 QQ浏览器  Android 4.4.4 N918St Build/KTU84P 河北省石家庄市 联通

      用百度的还是多。

  3. 网赚博客 1 来自天朝的朋友 谷歌浏览器 Windows 7 山东省 联通

    多谢分享

  4. 老周博客 0 来自天朝的朋友 谷歌浏览器 Windows 7 河南省漯河市 联通

    不错的技术博客,受益匪浅,多谢分享!

  5. chencool 2 来自天朝的朋友 搜狗浏览器 Windows 7 四川省成都市 联通

    收了,谢谢博主!! :idea:

  6. 购物街 2 来自天朝的朋友 谷歌浏览器 Windows 7 福建省泉州市 电信

    谢谢分享

  7. suppore 1 来自天朝的朋友 谷歌浏览器 Windows 7 湖南省张家界市 电信

    很不错的,来学习下。

  8. RaresNote 1 来自天朝的朋友 谷歌浏览器 Windows 7 福建省福州市 联通

    安全技术型啊,赞!

  9. 禾元商用豆花机 1 来自天朝的朋友 谷歌浏览器 Windows 7 广东省中山市 电信

    很好的博客,多学习很多东西

  10. 德国莱默尔E+L 2 来自天朝的朋友 谷歌浏览器 Windows 7 广东省东莞市 移动

    网站重定向后关键字排名下降了50名之外

  11. 千博地方门户系统 0 来自天朝的朋友 火狐浏览器 Windows 7 湖北省武汉市 电信

    用百度的还是多。

  12. 下拉通刷词软件 2 来自天朝的朋友 谷歌浏览器 Windows XP 浙江省嘉兴市平湖市 电信

    这个切入式的这样着实有点麻烦了

  13. 崛企科技 0 来自天朝的朋友 谷歌浏览器 Windows 7 湖南省 电信

    很复杂的样子

  14. 易淘金股票博客 3 来自天朝的朋友 搜狗浏览器 Windows 7 河南省开封市 联通

    好方法!!!!!!!!!!!!!!!!!!!!!

  15. 乐赚鸟 0 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省杭州市 联通

    签到成功!签到时间:下午7:39:01,每日签到,生活更精彩哦~

    评论不显示,是神马问题 :sad:

  16. 小萝博客 3 来自天朝的朋友 谷歌浏览器 Windows 7 广东省珠海市 电信

    又可以折腾一下咯

  17. themebetter 3 来自天朝的朋友 QQ浏览器 Windows 10 河南省信阳市 联通

    生活的乐趣在于折腾。

  18. 微部落博客 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省常州市 电信

    百度最近收录持续减少,不知道哪里又抽风了

  19. 彭挺 0 来自天朝的朋友 谷歌浏览器 Windows 7 广东省东莞市 电信

    看着头疼签到成功!签到时间:下午2:20:17,每日签到,生活更精彩哦~

  20. 何湘辉博客 1 来自天朝的朋友 谷歌浏览器 Windows 7 湖北省十堰市 电信

    建议代码多的弄成附件下载,影响阅读体验

  21. 安康人才网 0 来自天朝的朋友 谷歌浏览器 Windows XP 浙江省绍兴市 电信

    阅读后受益匪浅!

  22. 微部落博客 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省常州市 电信

    不要盯着百度搞,现在360搜索越多越多了

  23. 今日秀 1 来自天朝的朋友 火狐浏览器 Windows 7 广东省深圳市 电信

    这文章不错 我是一个刚刚涉足做网站这一块 各位大神 多多关照

  24. 励志语录 3 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省杭州市 联通

    学习了,给力 :oops: 签到成功!签到时间:下午7:47:28,每日签到,生活更精彩哦~

  25. 靠谱学生兼职网 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 广西南宁市 联通

    看到代码就有点头痛,还是用程序自身的搜索吧。

  26. 微部落博客 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省常州市 电信

    好多代码,看着就觉得很难。。

  27. 任务易 2 来自天朝的朋友 搜狗浏览器 Windows 7 湖北省武汉市 电信

    好杂,建议博主把排版改一下,视觉体验不是很好

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      不觉得

  28. 神猪 1 来自天朝的朋友 谷歌浏览器 Windows 7 河北省邯郸市 联通

    嗯,chrome默认打开图就是裂的,而且百度收录你的页面90%都是http,你不是早就强制https了吗?怎么会这样?

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      缩略图和https收录没关系,是百度自家没展示https

      • 好东西 0 来自天朝的朋友 火狐浏览器 Windows 10 山东省潍坊市 移动

        原来如此

  29. 求学的小学生 2 来自天朝的朋友 QQ浏览器 Windows 7 山东省威海市 联通

    http://bbs.zhanzhang.baidu.com/thread-133937-1-1.html 嘿嘿。似乎是新技术诶,张戈同学有没有关注一下呢?

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      看了下,暂时没打算折腾。百度自己的规范而已

  30. 靠谱学生兼职网 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 广西南宁市 联通

    很方便、很实用

  31. 赵庆福博客 0 来自天朝的朋友 谷歌浏览器 Windows XP 贵州省黔南州惠水县 移动

    因为看不懂,所以看不懂。 :mrgreen:

  32. 小哥网赚博客 1 来自天朝的朋友 谷歌浏览器 Windows 7 四川省宜宾市 电信

    细节很多 谢谢分享

  33. 夏日博客 5 来自天朝的朋友 谷歌浏览器 Windows 7 北京市朝阳区 联通

    懒得折腾了,直接把百度站内搜索给去掉了。

  34. 留笔记 2 来自天朝的朋友 谷歌浏览器 Windows 10 浙江省衢州市 联通

    张戈大大 你的搜索框不显示图片了

  35. 杨永博客 1 来自天朝的朋友 谷歌浏览器 Windows 7 贵州省毕节地区 联通

    不ttps会有什么影响呢?

  36. 任务易 2 来自天朝的朋友 搜狗浏览器 Windows 7 湖北省武汉市 电信

    成功get~

  37. 信阳毛尖 1 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市 电信

    可惜的是我已经取消了SSL的支持,百度统计依然不完善。

  38. 钟祥大美猫 1 来自天朝的朋友 火狐浏览器 Windows 10 湖北省武汉市 鹏博士长城宽带

    这留言 打字的效果,,,怎德一个酷字了得。。

  39. 七弦琴 3 来自天朝的朋友 谷歌浏览器 Windows 10 河南省郑州市 电信

    百度相关服务太坑了,想了想,还是取消掉百度站内了,就用默认的

  40. 狂放 3 来自天朝的朋友 谷歌浏览器  Android 4.4.2 2014501 Build/KOT49H 江西省吉安市 移动

    可是图片是http还是会拦截

  41. 9号 2 Philippines 谷歌浏览器 Windows 10 菲律宾

    百度站内搜索做的不错的

  42. 技术宅 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省南京市 电信

    我发现操作之后ssl提示有不安全的链接,打开一看,原来是缩略图用的还是http链接,看博主的加载资源中,缩略图是ssl格式的,比如你这边显示的是https://i8.baidu.com/it/u=1867108336,3600725071&fm=85&s=0490ED32957075201EDDEDDE0300C0B1,我这边显示的却是http://i8.baidu.com/it/u=1867108336,3600725071&fm=85&s=0490ED32957075201EDDEDDE0300C0B1

  43. 狂放 3 来自天朝的朋友 谷歌浏览器 Windows 10 江西省吉安市 移动

    试着用php反代了,似乎TM防盗链又回来了

加载中,请稍候...