引言
由于之前代码比较老,都是采用http1.0方式请求,于是采用了之前的代码进行实现,结果之前测试没有问题,后面投产了就报400错误了,重新测试还是没有问题。最后通过接收方日志排查怀疑http1.0 header部分没有host字段导致。
正文
具体原因是因为测试的时候直连了接收方的服务端了,没有过nginx代理。nginx在接收http请求时会匹配header中的host字段,根据host字段再转发到相应的server,由于http1.0没有配置host,导致nginx无法匹配到相应的server,所以请求报400了。
在http请求协议头中加入以下字段:
Host:127.0.0.1(此处ip是举例)
然后再把HTTP/1.0修改成HTTP/1.1即可,但如果不改HTTP版本也是可以发送Host字段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)