精华内容
下载资源
问答
  • 2G环境下资源下载有一定概率失败,客户端日志显示收到403错误 问题现象: 测试同学在使用联通号码在移动网络环境下,访问连接得到的response_code出现是403,导致资源读取失败表情显示异常。 问题重现...

    2G环境下资源下载有一定概率失败,客户端日志显示收到403错误

    问题现象:
    测试同学在使用联通号码在移动网络环境下,访问连接得到的response_code出现是403,导致资源读取失败表情显示异常。

    问题重现步骤:
    资源都存放在res.domain.com域名下。如:http://res.domain.com/test_path_to_res/1001.json
    当在该移动网络环境下
    a. 在使用域名的url访问时,连接正常,读取正常,表情显示正常。
    b. 当后台push下来相应的ip代替res.domain.com进行替换连接时,在该机子上对某些ip(如:1*2.1*3.23.13)连接出现异常403。(替换后的连接url为:http://1*2.1*3.23.13/ test_path_to_res /1001.json)


    问题定位:
    阶段1: 会员后台同学告之在没有正确设置请求头信息”Host”时会返回403.
    所以首先进行客户端编码的自我排查,是正确的设置了”Host”头信息的。

    阶段2: 后台同学要求对联网信息抓包分析.
    a. 客户端抓包在该网络环境下只有回包没有出包,所以后台同学单独安排一台服务器抓取该服务器的请求包
    b. 经服务器抓包结果发现问题如下:
    经移动网关代理后,客户端设置的”Host”被网关篡改成了”X-Online-Host”的值,由” res.domain.com”被篡改成push下来的ip。见下图

    至此,问题定位为: 移动网关自动篡改”Host”信息内容导致后台返回错误码403.

    移动网关实际上就是一个HTTP的代理服务器,它对于X-Online-Host协议是这样处理的:
    截取请求头中的URL字段:
    如果没有http://字段的话,则将该字段作为相对URI,同X-Online-Host字段进行补全;
    如果有http://字段的话,则将该字段作为绝对URI,将host替换为X-Online-Host的值。

    本文为Sodino所有,转载请注明出处:http://blog.csdn.net/sodino/article/details/10755213

    要不?你尝试关注下微信公共帐号sodino,以后的博文将会推送给你。

    问题解决方案:
    经与相关人员讨论,有以下三种方案
    a. CDN服务器全面支持不使用Host信息也能正常访问。
    这是最根本的解决方式,但涉及人员及工作量都比较多,短期内暂时不可能。
    b. 后台判断当前用户的网络环境,当在移动网络下时,不push相应的ip.
    这个方案存在一些不确定性,如哪些移动网络可以使用ip也哪些不可以,另在切换网络时能否及时准确判断更改相应的push IP的问题。
    c. 客户端对该错误进行兼容。 (这是选用的方法)
    具体做法为:在使用原始域名url与ip拼接的url间进行轮流切换。切换的时机为当前链接方式发生错误时,即切换到另一方式去。

    转载于:https://www.cnblogs.com/james1207/p/3293993.html

    展开全文
  • 403 无权限,跳转到首页 如果你项目启动有错误: 项目启动报错,请试一下用管理员权限输入命令。 如果出现如下图的错误,请把webpack.dev.config.js和webpack.prod.config.js中的fs.write(fd, buf, 0, buf.length...
  • 异常统一处理,开发模式下返回详细异常信息,生产环境屏蔽后台错误 对多线程开发进行封装,简化企业级的线程开发的难度 集成Druid连接池和监控技术 使用Mybatis-Plus来简化Dao层开发,做到单表业务无SQL。屏蔽复杂的...
  • 这样做的好处就是, 针对不用的异常进行监控, 并抛出指定的异常错误信息 或者 日志 自定义的异常处理 必须 继承 CustomExceptionInterface 接口, 通过 showMsg 来处理抛出异常 代码中, 我们会发现一个问题, 在 ...
  • │ │ │ GlobalExceptionHand.java --- 全局异常处理 │ │ │ │ │ └─exception │ │ LoginException.java │ │ │ └─resources │ │ application.yml │ │ │ ├─config │ │ application-dev.yml │ ...
  • IIS6.0 IIS,互联网信息服务

    热门讨论 2010-08-23 21:20:55
    IIS有默认的端口设置,只要稍有计算机知识的人都会记得这些端口的,要破解的话就十分的方便,所以尽量不要使用21这个默认端口号,并启用日志,以便FTP服务出现异常时检查。 [编辑本段]对IIS服务的远程管理  三、对...
  • 实例077 把异常错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位...
  • 实例077 把异常错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位...
  • 实例077 把异常错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位...
  • 实例077 把异常错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位...
  • 实例077 把异常错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位...
  • 4.9 用异常实现基本错误处理 129 4.9.1 捕捉错误 130 4.9.2 使用throw语句报告错误 136 4.10 小结 138 第5章 类 139 5.1 类的定义和实例化 141 5.2 实例字段 144 5.2.1 实例字段的声明 ...
  • 实例077 把异常错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 ...
  • 实例077 把异常错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 ...
  • 实例077 把异常错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 ...
  • 实例077 把异常错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 ...
  • JAVA 范例大全 光盘 资源

    热门讨论 2012-03-07 16:30:00
    常见问题 语法错误 7 第2章 Java基础语法 9 实例4 变量和常量 9 实例5 基本数据类型转换 10 实例6 操作多种运算符 12 实例7 不同数制间的转换 17 实例8 多种方式实现阶乘的算法 20 第3章 流程控制语句 23 ...
  • php网络开发完全手册

    热门讨论 2009-03-02 13:17:26
    9.3.4 PHPEclipse的语法错误强调功能 144 9.3.5 PHPEclipse的调试界面 144 9.3.6 使用PHPEclipse调试PHP代码 9.3.6 的常见问题 148 9.4 错误的处理 149 9.4.1 错误的隐藏 149 9.4.2 错误信息的定制 150 9.4.3 超时...
  • PHP开发实战宝典

    热门讨论 2011-12-02 07:34:49
    本书从初学者角度出发,以基础知识为“基石”,以核心技术和高级应用为“梁柱”,最终通过实战项目来检验成果,这就是本书的编写思路。 本书突出“基础”、“全面”、“深入”,强调“实战”效果。...
  • STM32F10xxx参考手册

    热门讨论 2009-04-13 13:39:08
    8.1.2 中断和异常向量 89 8.2 外部中断/事件控制器(EXTI) 91 8.2.1 主要特性 91 8.2.2 框图 92 8.2.3 唤醒事件管理 92 8.2.4 功能说明 92 8.2.5 外部中断/事件线路映像 94 8.3 EXTI 寄存器描述 95 8.3.1 中断屏蔽...
  • 实例184 异常捕获过滤器 实例185 验证用户身份Filter过滤器 实例186 字符编码过滤器 实例187 使用过滤器监控网站流量 实例188 防止页面缓存的过滤器 实例189 通过过滤器控制页面输出内容 实例190 使用过滤器...
  • 实例184 异常捕获过滤器 实例185 验证用户身份Filter过滤器 实例186 字符编码过滤器 实例187 使用过滤器监控网站流量 实例188 防止页面缓存的过滤器 实例189 通过过滤器控制页面输出内容 实例190 使用过滤器...
  • javaSE代码实例

    2016-06-21 22:30:18
    1.2.1 下载JDK 5 1.2.2 安装JDK 6 1.2.3 安装后Java目录的解读 7 1.3 学会使用API 7 1.4 第一个Java程序 8 1.4.1 开发源代码 8 1.4.2 编译运行 9 1.5 小结 11 第2章 基本数据类型——构建Java ...
  • 1.3.4 通过异常处理错误 12 1.3.5 特性的使用 13 1.4 程序集 13 1.4.1 私有程序集 14 1.4.2 共享程序集 14 1.4.3 反射 14 1.4.4 并行编程 15 1.5 .net framework类 15 1.6 名称空间 16 .1.7 用c#创建.net应用程序 ...
  • 1.3.4 通过异常处理错误 12 1.3.5 特性的使用 13 1.4 程序集 13 1.4.1 私有程序集 14 1.4.2 共享程序集 14 1.4.3 反射 14 1.4.4 并行编程 15 1.5 .net framework类 15 1.6 名称空间 16 .1.7 用c#创建.net应用程序 ...
  • 1.3.4 通过异常处理错误 12 1.3.5 特性的使用 13 1.4 程序集 13 1.4.1 私有程序集 14 1.4.2 共享程序集 14 1.4.3 反射 14 1.4.4 并行编程 15 1.5 .net framework类 15 1.6 名称空间 16 .1.7 用c#创建.net应用程序 ...

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

下载异常错误码403