我有一臺配置了基本身份驗證和LDAP的Web服務器。通常,我可以使用包含所有3個瀏覽器的英文字母的用戶名登錄。但是,如果用戶名包含特殊字符(例如RÈMWÉB等德語名稱),則Web服務器將返回401,並且會再次彈出認證,即apache無法驗證。基本身份驗證用戶名中的特殊字符不適用於Chrome,但適用於IE和Firefox
檢查apache access.log後,我可以告訴我,當我從firefox和chrome登錄時,編碼看起來不一樣。這種編碼是由瀏覽器還是由Web服務器決定的?我認爲這是瀏覽器導致事情與Firefox正常工作。我在哪裏可以設置鉻編碼方案?
另外,爲了確認它是瀏覽器的事情,我可以看到發送的授權頭對於Firefox和Chrome中的同一用戶而言是不同的。很顯然,瀏覽器不使用相同的方案對頭進行編碼。有什麼建議麼 ?
更多的調試表明firefox(和IE)使用ISO8859-1進行編碼,chrome使用UTF-8。
即使Apache Web服務器嘗試多次使用(如果ISO8859-1返回401,它應該再次嘗試使用UTF-8),我仍然可以。瀏覽器或Web服務器解決方案應該都可以。
嘗試使用Apache指令設置默認的'元charset',讀這讓我知道,如果它的工作https://開頭httpd.apache.org/docs/current/mod/core.html#adddefaultcharset – zatamine