ssl应用中访问非ssl内容是弹出安全提示框的问题

我们都知道,如果我们的应用是基于ssl的,那么就需要通过https访问我们的应用,这个时候如果在你的请求中需要发送一个外部的http请求,那么浏览器将会弹出一个安全提示窗口,如图所示:

[img]http://dl.iteye.com/upload/attachment/336263/c65ad222-be4c-35c6-88af-f27ee25dee6c.jpg[/img]

浏览的网站出现这个提示,表明这些都是HTTPS加密的网站,当网页包括经加密传送的HTTPS内容和未经加密传送的HTTP内容时,IE8就会询问用户是否允许接受未经加密的内容,警告的不安全内容可能是图片、js、css等资源。一开始习惯性的选择了“是”,但是发现IE浏览器的左下角那里马上会提示“网页上有错误”,只能选择“否”才可以正常使用这些网站的功能,比如右键菜单,虽然使用没有问题了,但是每次都弹出这个“安全警告”,而且还要点击确认,实在很烦。在如今这样一个用户体验至上的年代,这样的提示窗口无疑会严重影响到我们的用户体验,那么我们应该如何让这个提示框自动消失呢?一般来说有以下三种方法:

[b][size=large]方案一[/size][/b]
既然这是有浏览器自动弹出来的,那么我们当然可以从浏览器本身入手,不过这种方法需要在客户端进行设置,要让我们的用户去做这样的设置,显然也不现实,所以后面会有更好的方法。
1、 打开IE8选择“工具”→“Internet选项”

[img]http://dl.iteye.com/upload/attachment/336266/c043e69c-cfe4-32f6-bbdf-eff74f17eacf.jpg[/img]

2、 接着,选择“安全”页面,点击“Internet”(这项需要根据你访问的连接是属于外网或内网进行相应的设置),再选择下面的“自定义级别”按钮

[img]http://dl.iteye.com/upload/attachment/336268/47ec239a-3720-31d6-80af-1cefd9d418b2.jpg[/img]

3、 将“显示混合内容”项缺省的“提示”改成“启用”,问题即可解决

[img]http://dl.iteye.com/upload/attachment/336270/790a92ae-5269-3adb-af15-648b6c4330dc.jpg[/img]


[b][size=large]方案二[/size][/b]
从应用程序入手,既然这个问题是由于在https中访问http导致的,那么我们就将我们的访问全部修改为https的,这样自然就不会有提示了,也就是说在我们的应用程序中保证所有的请求都是https的,不过这种方法在实际应用中不能很好的执行,原因很简单,我们的应用很可能需要访问一些外部的连接,比如js、css、图片等资源,这些外部资源很多时候不受我们控制,我们无法改变它们的访问方式,这个时候我们就得借助我们的方法三来完成了。

[b][size=large]方案三[/size][/b]
使用web服务器的uri重写功能,在我们的应用中通过一个相对路径访问外部资源,在web服务器中将该相对路径进行重写为资源的绝对路径,使用代理获取资源内容,然后将内容返回客户端,这样对于浏览器来说看到的是一个相对路径,自然不会进行安全提示,我们就绕过了浏览器的安全提示了。
对于apache来说,我们需要增加如下一些配置:
#加载rewrite模块
LoadModule rewrite_module /opt/taobao/install/httpd/modules/mod_rewrite.so
#加载代理模块
LoadModule proxy_module /opt/taobao/install/httpd/modules/mod_proxy.so
LoadModule proxy_http_module /opt/taobao/install/httpd/modules/mod_proxy_http.so

#uri重写
RewriteEngine on
RewriteRule ^/(.*)/idata/tbcdn/cn/js/(.*)$ http://a.tbcdn.cn/??$1 [L,R,NE]
对于我们的应用,原来访问的资源路径为:
http://a.tbcdn.cn/??yui/3.0.0/build/yui/yui-min.js,yui/3.0.0/build/oop/oop-min.js
修改后的资源访问路径为:
tbcdn/cn/js/yui/3.0.0/build/yui/yui-min.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值