
我在訪問最近在伺服器端獲得 SSL 安全的網站時遇到問題。
像平常一樣訪問該網站不是問題,但是當我嘗試在託管該網站的伺服器上打開該網站時,它根本無法打開。
這不是該伺服器上的唯一站點,我可以訪問所有站點,除了那些具有SSL安全。
這會導致問題,因為相關網站包含API服務還有一些其他網站需要連接到這個API。
但透過連接到該網站xmlHttp請求(和其他此類代碼)不起作用。
當 API 中提供所有功能時,我不想重寫這些其他網站的所有程式碼。 (這也意味著隨著服務的發展和變化,在許多不同的地方做出改變。)
什麼可能導致此問題以及如何解決它?
編輯:該伺服器上還有另一個受 SSL 保護的站點,但我對其狀態的了解有誤。可以在伺服器端存取另一個網站。我將檢查伺服器上 IIS 和防火牆上的所有設置,以找出它們行為不同的原因。
編輯:我找到了一個解決方案,透過更改重寫規則(強制使用 https)來不適用於內部位址(127.0.0.1)。我現在可以從伺服器端訪問該網站。
這並不能解決問題,只是為了避免問題而進行的臨時修復。
答案1
可以為網站新增hosts條目並使用網域存取。這樣 SSL 握手就可以運作了
答案2
如果您透過名稱存取您的站點localhost
,並且當您的 SSL 憑證配置為主機名稱(或其他名稱)時,您的用戶端可能會拒絕連線到它。在不了解具體情況的情況下,很難說如何解決問題,但是您可以嘗試使用 SSL 憑證中的相同名稱發出請求,或嘗試關閉客戶端伺服器驗證,但這樣您就會失去 SSL 提供的安全性。