PowerEdge:iDRAC9 韌體版本 5.10.00.00 上的 HTTP 和 HTTPS FQDN 連線失敗
Summary: 當 FQDN 未定義為 iDRAC Remote Access Controller (RAC) 名稱時,Dell iDRAC9 韌體版本 5.10.00.00 會透過完整功能變數名稱 (FQDN) 封鎖 HTTP 和 HTTPS 存取。
Symptoms
Dell Integrated Remote Access Controller 9 (iDRAC9) 韌體版本 5.10.00.00 推出了 HTTP 和 HTTPS 連線變更。在指定完整網域名稱 (FQDN) 位址時,這些變更可能會影響使用者連線。由於這些變更,iDRAC9 使用者可能會遇到連線錯誤、重新導向或「400 - Bad Request」錯誤。當指定的 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>
Cause
iDRAC9 韌體版本 5.10.00.00 中的 Web 伺服器預設會強制執行 HTTP 和 HTTPS 主機標頭檢查。
Resolution
根據預設,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」。此新設定最多可更新四個 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 (使用 ISM)