标签 坑爹 下的文章

一个关于IE的另一个坑

今天同事找我,说wwt群共享下载文件一直失败,下载不下来。这地方是我N年前写的,之后就这么多年的没做维护了,先说下下载这部分是这样的:群共享其实是群空间的一个功能,是在网站上的。整个是用.NET写的,下载的时候,是用代码去以二进制的方式去读的文件,以流的方式给浏览器进行下载。
我去同事那了解了下情况:
1、用的rar文件进行测试,一个5.4M的文件,在下载到接近5.4M(也可能就是5.4M,当时变的非常快,还不等反应过来就变成下载失败了)的时候,IE会显示下载失败,直接使用IE的“查看下载”中的“重试”,会变成下载成功,不过文件无法正常打开,提示文件损坏;
2、使用360浏览器的极速模式,可以正常下载
3、使用360浏览器的兼容模式,也可以正常下载
4、把IE下载失败的那个文件(重试之前的)扩展名改成rar,之后可以正常打开

分析:IE下载文件时,会把临时文件命名为“保存文件名.扩展名.[随机字符].partial”,下载成功之后再给重新命名要保存的文件名,看这情况应该是IE在下载结束后,进行对下载时的临时文件进行重命名时失败了,而点重新下载后,IE的重新下载和重命名同时进行了,重新下载就会把原来的文件删除,重命名操作会把没下载完的文件给重新命名,成功之后IE就认为是重新下载成功了,其实此时连之前的失败都不如。。。
解决办法:不使用IE浏览器

坑爹的阿里云高防IP

今天下午,客服MM报说手机版xx圈登录不上,测了下,果然登录不上。
手机版xx圈的结构如下:
1.数据接口服务器:使用WebAPI为手机xx圈提供数据接口,所有的数据请求均通过HTTP请求返回
2.手机端服务器(前端):提供websocket通信及手机xx圈的前端(WEB)显示,是的,没错,我们的手机端xx圈其实就是手机软件里直接嵌的网页,怎滴?不服打我啊
登录时手机端与前端服务器建立websocket连接,成功之后由前端服务器向数据接口提交数据验证用户登录,成功之后返回给手机,再由手机跳转到登录成功后的默认界面(再强调一次,是WEB的)
后面的所有操作就全是在网页里完成的,网页ajax异步请求,因为数据接口与前端没有在同一台服务器上,这涉及到了跨域的问题,我们知道js是不允许跨域的,所以就有了个jsonp这个方法,不过比较麻烦,我们就用了nginx来做反代,就是在前端服务器上架了个nginx反代服务器,当然手机上显示的网页也是架在nginx上的,所有的需要提交到接口上的请求,都是通过反代来处理的。
手机端显示的网站用的域名解析在前端服务器上,而且加在了阿里云高防里了,所有的请求都是向手机端使用的这个域名提交的,之后由Nginx服务器来进行反代转发等。

以上是大概的情况介绍,下面就是查问题了:
擦,登录不上了,手机端没有任何提示,最先想到的就是,看看数据接口有没有问题,使用postman向接口提交登录请求,成功返回;使用putty登录前端服务器 telnet数据接口服务器指定的端口,通的;在putty上,使用命令访问接口,也是通的,成功返回;使用postman向前端ajax使用的接口提交请求,也成功。
真的是活见鬼了,最后怀疑是高防的问题,把防御关掉,手机端登录成功。。。最后想了下,把127.0.0.1加到白名单中试一下,防御全打开,没问题了,问题解决。
阿里云真是坑爹啊,竟然能连127.0.0.1都给屏了。。。

分类

最新文章

最近回复

  • 青山: 某种原因,暂停友链,抱歉。
  • 青山: 计划搬迁到腾讯云,正...
  • 老徐: 具体要哪个呢?
  • 老徐: 是不是有点老?
  • 青山: 哇,林志炫
  • 老白: 哇,这改的可以,能不...
  • 老徐: 23333
  • 许建华: 我是为了表情包来的~
  • vultr vps: 感谢分享深入学习
  • 青山: 每一次都是不同的感受

归档

标签云

C# .net core asp.net 情感 SQL mongodb sql server EasyUI 安全 激活 linux 身份验证 https typecho .net sql注入 kms MVC IIS 高并发 IE 坑爹 服务器 mysql Oracle Combobox Datagrid 口语 数据抓取

其它