裝好 Windows 11 環境,古蹟維護小組成員最關心的莫過於 Windows 11 能否正常連上 IE Only 舊網站,雖然 Windows 11 移除了 IE11,但 Edge 有支援 IE 模式,早先在 Windows 10 測試過,只要在 Edge 正確設定,使用者可以手動切換,或由系統管理人員統一部署控制 Edge 使用 IE 模式開啟特定網站。(延伸閱讀:Microsoft Edge IE 模式筆記)

原本我以為的測試流程是在 Windows 11 開 Edge、切 IE 模式,檢視網頁沒問題便可收工。不料,劇情卻發展成一齣驚悚片...

隨便連了一個 Windows 整合式驗證 IIS 站台,Edge 預設會用 Chromium 核心開啟網站,輸入帳號密碼後網頁正常顯示。Edge 若有啟用 IE 模式,上方工具列會有按鈕可開啟 IE 模式。

按下「在 Internet Explorer 模式中重新載入」,原本預期該彈出帳號密碼視窗改用 IE 模式開啟,但並沒有! 等待幾十秒後,沒有彈出登入視窗,直接噴出 HTTP 401 登入失敗。

開啟 Fiddler 監看傳輸,發現 Edge 接到第一個 HTTP 401 回應後便無後續動作,直到逾時直接顯示該 HTTP 401 回應內容。比對未開 IE 模式時,Edge 接到第一個 401 後會再發出 Request 回傳資訊,與伺服器往來兩次完成 NTLM 身分認證 (延伸閱讀:Windows 驗證歷程觀察與 Kerberos/NTLM 判別),由此研判問題與 Edge 的行為有關。

所以 Windows 11 的 Edge 開 IE 模式不能用 AD 帳號登入網站?這結論讓人背脊發涼,一升級 Windows 11,企業內靠 AD 登入的 IE Only 網站全不能用,那還得了?

Windows 11 剛上市相關討論不多,爬文沒找到什麼線索,找到一篇 Issues logging in with Integrated Authentication in Internet Explorer or Edge,提到 Chrome/Safari/Firefox 可以登入,但 IE 跟 Edge 不行的案例,跟我的狀況有點類似。文章的說法是 IE/Edge 會優先用 Negotiat 認證,其他瀏覽器則是走 NTLM,前者需要客戶端直接連到 AD 伺服器,在受防火牆阻隔的網路環境並不可行。試了停用 Negotiate,並無法解決問題。

經過一段無頭緒胡亂摸索,無意間找到一個可成功登入的方法。在 Windows/System32/drivers/etc/hosts 加入 IP 機器名稱對映,URL 改用機器名居然就能登入了。

依老司機的經驗,IP 與機器名稱對 IE 而言是「網際網路」與「近端內部網路」的差別,在權限及允許行為上有諸多差別,將 IP 加入信任的網站說不定能解決問題。但 Windows 11 拿掉 IE11 了,去哪裡設定?

點下方的放大鏡尋找,輸入 control,開啟傳統控制台:

找到網際網路設定:

熟悉的 IE 設定介面藏在這裡,把 IP 加進「信任的網站」:

標示著 iexplore 的帳號密碼對話框出現了,哈里路亞!

終於排除 Windows 11 無法用 Edge IE 模式登入網站問題,結束了這場驚魂。

Edge on Windows 11 failed to login IIS with AD account in IE mode, but it's OK with Chromium mode.


Comments

# by Not

喜的是古蹟可以繼續參觀 憂的是古蹟還要繼續維護

# by Hung Yang

WIN7系統下使用edge的IE MODE會有更多驚喜(驚嚇)。 將IP加到信任的網站方法無法奏效,還需加到近端內部網路才能正常認證...

# by Jeffrey

to Hung Yang,Win7 2020 年初已 EOS,Edge 支援 2266 也是很合理的 :D 我想說既然是 Win7,IE11 給它大力用下去就對了,呵。

Post a comment