hostname 带下划线引起的 400 错误

根据 RFC952 hostname 只允许字母,数字,短划线和小数点,并且以字母开头。
当我配置了一个 abc_demo 这样的本地主机名, 并配置在 Apache 的 VirtualHost 上时,尝试访问这个主机名下的资源都返回 400 错误。

那问题是怎么发现的呢? 我们在 Apache 的虚拟主机上配置不同的日志文件, 当尝试用“坏”的主机名去访问的时候,发现访问日志其实是被 log 在默认的日志文件上了,这就怀疑主机名有问题。当我们去掉下划线,或者用短横线代替后,问题迎刃而解。

作者: 甬洁网络

--移动互联网&物联网技术提供商