PowerEdge:iDRAC9 固件版本 5.10.00.00 上的 HTTP 和 HTTPS FQDN 连接失败
摘要: 当 FQDN 未定义为 iDRAC Remote Access Controller (RAC) 名称时,Dell iDRAC9 固件版本 5.10.00.00 会阻止通过完全限定域名 (FQDN) 进行 HTTP 和 HTTPS 访问。
症状
Dell Integrated Remote Access Controller 9 (iDRAC9) 固件版本 5.10.00.00 引入了 HTTP 和 HTTPS 连接更改。指定完全限定域名 (FQDN) 地址时,这些更改可能会影响用户连接。由于这些更改,iDRAC9 用户可能会遇到连接错误、重定向或“400 - Bad Request”(400 - 错误请求)错误。当指定的 FQDN 与 iDRAC“DNSRacName”或“DNSDomainName”值不匹配时,会发现这些连接错误。
浏览器错误示例:
图 1:Mozilla HTTPS 标头错误 Curl 错误示例:
root@rhel7-vm:~$ curl -k https://iR640-A.dell.com/ <!DOCTYPE html> <head> <title>Bad Request</title> <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> </head> <body> <h2>Access Error: 400 -- Bad Request</h2> <pre></pre> </body> </html>
原因
默认情况下,iDRAC9 固件版本 5.10.00.00 中的 Web 服务器会强制执行 HTTP 和 HTTPS 主机标头检查。
解决方案
默认情况下,iDRAC9 会检查 HTTP 和 HTTPS 主机标头,并与定义的“DNSRacName”和“DNSDomainName”进行比较。当值不匹配时,iDRAC 将拒绝 HTTP 和 HTTPS 连接。在 iDRAC9 5.10.00.00 中,可以通过以下 RACADM 命令禁用此主机标头强制检查。
#Disable host header check racadm set idrac.webserver.HostHeaderCheck 0
启用 HTTP 和 HTTPS 主机标头检查(更安全)后,可以使用 IPv4/IPv6 地址、RAC 名称和定义的 iDRAC FQDN(DNSRacName、DNSDomainName)访问 iDRAC。如果终端用户使用 iDRAC 可能不知道的主机名(例如在 DNS 记录中添加的手动 DNS 条目)进行访问,则 iDRAC9 5.10.00.00 固件版本引入了一个新属性“ManualDNSEntry”。此新设置最多可更新为 4 个 IP 地址和主机名/FQDN,以提供主机标头的允许列表。这可确保当 HTTP 和 HTTPS 主机标头携带“ManualDNSEntry”设置中的一个条目时,传入请求不会被丢弃。
# Add manual entry to allow list racadm set idrac.webserver.ManualDNSEntry 192.168.20.30 racadm set idrac.webserver.ManualDNSentry 192.168.20.30,idrac.mydomain.com
在以下情况下需要此额外配置:
- 终端用户使用手动 DNS 配置访问 iDRAC(手动 DNS 主机记录)
- 使用主题备用名称和通配符证书访问 iDRAC
- 直接使用主机 IP 地址访问 iDRAC (usingISM)