博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]记解决一次“HTTP Error 400. The request URL is invalid”的错误
阅读量:7071 次
发布时间:2019-06-28

本文共 1690 字,大约阅读时间需要 5 分钟。

今天将图片服务切到使用了cdn的机器上面去,然后就部分图片报如下图错误“HTTP Error 400. The request URL is invalid”

看到这种错误信息,一般的开发者心中可能会猜测到两个原因

1.链接中有特殊字符

2.链接长度过长(似乎长度过长也不是这个错,模糊不清,忘记了)

错误图片的地址如下:http://{host}/SearchService.svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2%A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2%A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

接下来就开始了按照我们所能遇见的错误原因进行排查

1.查看url,并没有特殊字符(排除这个原因)

2.url咋一看确实很长,那我们删除参数的一半长度再请求。结果是可以成功,然后通过不断的加字符,发现长度超过339就报这个错,而339后面也没啥特殊字符,所以我们基本确定错误原因是应为url过长。

 接下来就是解决相关问题

然后就是各种百度,查看相关修改querystring长度限制的配置

然后就修改web.config

1.修改  httpRuntime 节点下面增加  maxQueryStringLength,maxRequestLength配置

  2.修改system.webServer节点,如下

满怀期待的保存,运行,错误依旧,好像并没有什么卵用

这个时候就开始纳闷了,为啥不行,会不会没有生效,想到这儿可能就有很多人像我一样,想到了iis的全局设置,会不会该项设置不能被覆盖,我们用的依旧是全部设置的值

不用猜测,查看一下就知道了(注意,查看的requestFiltering是位于 system.webServer下,不要看错节点了)

如果是关闭的,overrideModeDefault的值是Deny,Allow表示我们该配置会以我们站点具体配置为准。

那么一切都是正常的啊,为啥就是报错呢?!

最后stackoverflow上面一个没有被采纳的回到引起了我的注意

链接 

大致意思是,请求还没到iis,被操作系统干掉了。

这个时候再google上面搜到另外一篇文章,链接到了微软的光放技术支持

地址如下 

两篇文章的大意都是我们需要修改注册表,综合两篇文章,大概修改是注册表如下两个值

 

 

 接下来就试一下,进入注册表  CMD =》 regedit=》HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

右击空白区域,选择Dword值,如图

 

新建名称 UrlSegmentMaxLength,值设置成2048,然后点击ok

UrlSegmentMaxCount的设置同上,值也是Dword  2048,点击ok.

修改完成只有重启http服务才能生效

  1. 依次单击“开始”、“运行”,键入 Cmd,然后单击“确定”。
  2. 在命令提示符处,键入 net stop http,然后按 Enter。
  3. 在命令提示符处,键入 net start http,然后按 Enter。

然后重启IIS。再试一下,ok了,不报错了,完美解决,在解决问题的过长中,领导给予了不少支持,实际情况不像本文描述的这么简单平凡!

转载于:https://www.cnblogs.com/waw/p/8260787.html

你可能感兴趣的文章
详解CSS display:inline-block的应用
查看>>
MySQL Workbench关键字转成小写设置
查看>>
[转]如何写出线程安全的类和函数
查看>>
将手机替换为*号
查看>>
加密算法(对称加密)AES、DES (非对称加密)RSA、DSA
查看>>
【Dalston】【第六章】API服务网关(Zuul) 下
查看>>
Windows上SSH服务器的配置以及客户端的连接
查看>>
『PyTorch x TensorFlow』第八弹_基本nn.Module层函数
查看>>
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
查看>>
教你一步步composer安装Magento2.3
查看>>
JSON方式封装通信接口
查看>>
Spark进阶之路-Spark提交Jar包执行
查看>>
串口发送数据速度
查看>>
登录功能测试点
查看>>
vue项目ide(vue项目环境搭建)
查看>>
传统企业触网的战略--借助电商外包
查看>>
本周ASP.NET英文技术文章推荐[06/10 - 06/16]
查看>>
匈奴的历史简述
查看>>
【自然框架之SSO】实现SSO的一个初步想法
查看>>
Can't create/write to file '/tmp/MLjnvU95' (Errcode: 13 - Permission denied)
查看>>