ISA server2006 URL中文 报500错误

67 篇文章 5 订阅

我在运维一个10几年前的老项目,有一个问题,一直困扰着我的客户。很久都没有解决。

表现就是在用中文搜索表单时,会看到如下的错误:
在这里插入图片描述

后来经过我的测试发现,只要是GET请求中传参包含中文时就必然出现这个报错。

探索过程

看到这个界面,最开始我误以为是IIS的报错信息。我就各种在网上搜索关键字类似与URL中文 报500错误 ,很显然没能解决这个错误。

我把IIS的根编码格式相关的参数都修改了个遍就是解决不了。

然后这个事情就搁置了近一年时间,期间如果客户很在意这个报错,我就会修改后台代码,避免在GET方法中使用中文。或者把中文转成其他格式传输。虽然可以解决问题,但是工作量巨大。

直到近期,我给客户部署我亲自开发的项目,发现GET请求中包含中文时还是报这个错。这个时候我在想会不会不是IIS的原因。因为我的项目使用的是nginx。

直到在配置域名的时候,发现我的项目,无法正常登录。我有文章如下:
《ISA Server2006部署RuoYi无法登录的问题》https://blog.csdn.net/lxyoucan/article/details/135722244
记录了这个过程。

此时我才发现,客户用的反向代理软件竟然是ISA Server2006这是我第1次听说这个软件。

此时我才意识到,之前的项目访问时URL中带有中文报错的情况,不是因为IIS,而是因为ISA Server2006导致。

之前花了大量时间探索,竟然方向完全错误了。
得到原本原因以后就好解决了。

解决办法

  1. 打开 ISA控制台。
  2. 点击 “防火墙策略”
  3. 找到自己的网站并鼠标右击,选择配置HTTP
    在这里插入图片描述
  4. 在弹出的为规则配置HTTP策略 对话框,点击常规选项卡,在URL保护中,把验证正则化阻止高位字符这两项前面的复选框去掉。然后点击确定。
    在这里插入图片描述
  5. 点击应用,后问题解决。
    在这里插入图片描述

总结

真是坑啊,ISA的默认配置竟然有如此大的坑。不过毕竟是10多年前的软件了,也不能要求太高。反正在当前的视角看,这个默认配置验证正则化阻止高位字符因引起中文用户困扰。其实英文用户应该是不会有影响的。
总体来说ISA更像是一个防火墙软件,安全性第一的原则来看,又好理解了。

困扰我近1年的问题,总算解决了。

参考

https://blog.51cto.com/liunn/230980

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值