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地址访问,或者去掉绑定的主机名采用为空即解决问题。
相关推荐
广州创科水利9 分钟前
广州创科:以硬核科技与全栈能力,守护边坡安全监测防线
大数据·网络·人工智能
许长安19 分钟前
RingBuffer:面向网络编程的环形缓冲区实现
服务器·网络·c++·经验分享·笔记·缓存
酿情师35 分钟前
区块链原理与技术03:P2P 网络概述与区块链中的 P2P 网络(区块链网络与跨链操作01)
网络·区块链·p2p
9命怪猫36 分钟前
[K8S小白问题集] - Flannel是K8S默认CNI吗?怎么实现的Overlay网络?
网络·容器·kubernetes
Harvy_没救了38 分钟前
【虚拟容器-docker】docker核心“铁三角“--网络、存储、镜像管理
网络·docker·容器
BS_Li40 分钟前
【Linux网络编程】应用层自定义协议与序列化
linux·服务器·网络
深邃-1 小时前
【Web安全】-计算机网络协议(2):请求方法,头部字段,DNS协议详解
linux·网络·网络协议·计算机网络·安全·web安全·网络安全
Mr.H01271 小时前
C语言MQTT学习系列(3篇):第一篇:从零开始学MQTT(C语言版):入门必看,跑通最简Demo
c语言·网络·学习
上海云盾-小余9 小时前
域名解析被劫持怎么办?DNS 安全防护与异常修复全教程
网络·安全·ddos
科技风向标go9 小时前
**2026年Q2中国消费级监控摄像头市场观察:存量时代的竞争逻辑重构**
网络·安全·监控·户外安防