嘗試從我的客戶端應用程序下載位於我的服務器上的文件時,我出現不一致的錯誤。錯誤是請求URL與證書CN不匹配。在錯誤中,請求URL是服務器IP,但證書上的CN是域名,證書中沒有IP的SAN條目,所以我想這是導致錯誤的原因。證書有2個SAN條目,比如mydomain.com和www.mydomain.com。
我的客戶端應用程序使用請求的域名,所以這裏是我的問題: 哪裏的域名被更改爲IP?
我檢查了我的IIS服務器,我的webapp中沒有重寫規則(都不是重定向)。我確實有一個綁定我的IP地址,但這可能是問題嗎?什麼改變了請求的URL?
0
A
回答
0
我不知道正確的證書的具體內容,服務器的設置,多個未指定的系統和應用程序的行爲以及您認爲正確的URL的行爲。但我可以成像以下問題:
- 根據應用的不同,可能會或可能不會使用Server Name Indication (SNI),並根據這可能導致對服務於不同的證書服務器的設置。
- 根據應用程序的不同,它可能會查看CN進行驗證,或者可能不會。該標準指出,如果沒有SAN(主題備用名稱)DNS記錄,但只有諮詢CN才能諮詢CN,即使沒有SAN DNS記錄,即使存在SAN DNS記錄,其他用戶也不會諮詢CN但只有一個SAN IP記錄。有些人堅持不看CN,即使根本沒有SAN記錄。
- 如果該URL不是每個域,而是一個IP地址,則某些應用程序可以正確地檢查SAN IP記錄,一些檢查會針對CN,一些會忽略任何SAN IP記錄,但錯誤地指望將IP地址包含在SAN DNS記錄中。
- 除此之外,不同的應用程序實際上可能使用稍微不同的URL,即某些
example.com
,某些www.example.com
,一些開始於HTTP,一些開始於HTTPS。這可能會導致不同的證書或重定向,具體取決於服務器的設置。
因此,爲了減少問題,請確保您只有一個證書獲得服務,無論是否使用SNI,無論使用哪個可能的URL。還要確保證書實際上包含您期望的所有域名作爲SAN DNS記錄。如果您希望通過URL中的IP地址而不是域來訪問該站點,請確保您有SAN IP和SAN DNS記錄。此外,您擁有的任何重定向都應指向完全相同的域名或IP地址。
一旦完成並且問題仍然存在,請嘗試在Stackoverflow的新帖子中添加足夠的有關網站設置,證書內容以及確切問題的詳細信息,以便問題可以由其他人和他們複製可以幫助您調試剩餘的問題。
相關問題
- 1. JSoup請求的URL更改
- 2. Varnish ESI請求 - 發送了什麼Cookie?
- 3. python請求,我錯過了什麼?
- 4. ajax請求更改url
- 5. WebClient.DownloadingString更改URL請求
- 6. AngularJs $ http變形請求url
- 7. URL變量到ajax請求
- 8. 爲什麼請求的請求很少?
- 9. 爲什麼我的AJAX在運行測試時請求dev中的PUT請求,但請求了GET請求?
- 10. '正確'的方式來響應一個PUT請求,改變了請求URI
- 11. 笨 - 什麼是得到一個改變語言請求
- 12. Ajax請求什麼?
- 13. jQuery UI的自動完成插件改變PHP請求的URL
- 14. 混淆了這個url請求
- 15. 爲什麼file_get_contents($ url)或file_get_contents(urlencode($ url))返回http請求失敗
- 16. 這個URL請求的http請求和響應正文是什麼?
- 17. WSHttpBinding TransportWithMessageCredential SecurityMode改變請求
- 18. GET請求後更改顯示的URL
- 19. ASP.NET MVC - 如何修改請求的URL?
- 20. 在UIWebView中修改請求的URL
- 21. 修改腳本中的Zapier請求url
- 22. 改寫請求的URL - 阿帕奇
- 23. 請求的URL正在更改
- 24. 重定向所有的RESTful請求域根不改變URL
- 25. 想改變URL請求,但仍然透明的應用
- 26. CakePHP的URL rewring前頁請求到另一個控制器不改變請求的URL
- 27. php請求變量在sef的URL
- 28. Django的請求URL變得怪異
- 29. Git改變了拉請求的源分支
- 30. 爲什麼編碼改變了?
抱歉,如果您談論客戶端或服務器應用程序,則很難理解;我在這方面也澄清了我的問題。謝謝你回答 – guillaume
@guillaume:我只是在這裏談論客戶網站檢查。但是根據您的信息不可能說您的URL中的主機名被更改爲IP地址。這可能是你沒有檢測到的一些重寫,或者它可能是客戶端中的錯誤。如果問題可以通過瀏覽器複製,您可以使用瀏覽器開發工具精確查看接收到的請求和響應,從而找出使用IP而不是主機名的來源。 –