HTTP Error 400. The request hostname is invalid.

异常信息

shell 复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Hostname</h2>
<hr><p>HTTP Error 400. The request hostname is invalid.</p>
</BODY></HTML>

原因

服务器因为历史原因使用的是 IIS部署的,IIS配置要求一个有效的主机名(Host header),而不是直接使用IP地址进行访问。这个配置可以通过IIS管理器中的"绑定"来设置。在IIS中,每个网站可以配置一个或多个绑定,这些绑定指明了网站可以响应的IP地址、端口和(可选的)主机名。如果网站配置为仅响应特定的主机名,而请求没有提供该主机名或提供了错误的主机名,IIS就会返回400错误。

解决方案

  1. 要使用IIS绑定的主机名进行请求,可以使用curl 进行测试(指定一个自定义的请求头,配置Host的值为指定要请求的主机名)
shell 复制代码
# `example.com` 应该替换成绑定的主机名
curl -H "Host: example.com" http://<IP-address>
  1. 修改IIS绑定 :如果你有权限访问IIS服务器配置,你可以添加一个新的绑定来允许直接使用IP地址访问,或者去掉绑定的主机名采用为空即解决问题。
相关推荐
卓码软件测评11 小时前
【第三方软件测试测评机构:使用LoadRunner测试HTTPS/SSL协议应用的配置和证书处理 】
网络协议·测试工具·https·测试用例·ssl
七夜zippoe12 小时前
gRPC高性能RPC框架实战:从Protocol Buffers到流式传输的完整指南
网络·python·网络协议·rpc·protocol
定偶12 小时前
网络编程总结
开发语言·网络·数据结构·网络编程
一路往蓝-Anbo12 小时前
第 1 篇:对象池模式 (Object Pool) —— 裸机下的动态内存革命
jvm·数据库·stm32·单片机·嵌入式硬件·网络协议·tcp/ip
乾元12 小时前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构
玉树临风江流儿12 小时前
WSL2通过主机转发流量,实现与开发板互相ping通
linux·服务器·网络
码界奇点13 小时前
基于eBPF技术的高性能网络防火墙系统设计与实现
开发语言·网络·毕业设计·php·wpf·go语言·源代码管理
sunlifenger13 小时前
【兆越课堂】时间的回归|网络“同步性”的进化简史
网络·5g·信息与通信
冀辉13 小时前
局域网部署时实现基于https的业务系统访问
网络协议·http·https
蒹葭玉树13 小时前
【C++上岸】C++常见面试题目--网络篇(第二十六期)
网络·c++·面试