2013-10-14 164 views
1

我寫了我自己的web服務器在tomcat上運行。我還將其配置爲可以通過SSL協議連接到Web服務器。 我可以通過Firefox連接到鏈接https://[server address]:8443/[WebServer]。但是當我通過Safari打開鏈接時,它會顯示失敗的頁面。Safari無法通過SSL協議連接到Web服務器

+0

你能提供錯誤信息嗎?如果我猜測,在提供的有限信息中,您對證書有信任問題。 – Qben

+0

Hi。Safari瀏覽器讓我知道是「Safari無法打開頁面https:// [服務器地址]:8443/[WebServer],因爲Safari無法建立與服務器的安全連接」。感謝回覆。 – lylv

回答

0

你不提,你得到了什麼樣的錯誤信息。假設您收到「服務器不可信」的消息 - 例如你很可能在tomcat上使用自簽名證書。 SSL的一部分是服務器的公鑰由可信實體簽名(認證),確保使用的密鑰實際上與域名匹配。這是被使用的,所以如果你想攻擊它的用戶,你不能輕易地模仿成爲不同的服務器。

很有可能你已簽署自己的鑰匙圍繞這一要求的工作。這意味着瀏覽器會拒絕連接,除非您特別聲明您信任密鑰(否則受信任的簽名會暗示該信任)。

你怎麼知道,如果您使用的是自簽名與一個「值得信賴的」鑰匙?如果您爲了簽署密鑰而將錢匯給某人,您可能會使用可信的賬戶。如果您沒有將錢傳給任何人簽署密鑰,那麼您使用的是不可信的最可能的自籤密鑰。

我猜你前面手動接受Firefox中此鍵,都忘了。我不知道Safari爲了讓密鑰被接受而顯示什麼(或者它可以被配置爲拒絕不信任的密鑰而不會提出任何問題)。所以從這裏你必須找到自己的方式,我希望上面的解釋能幫助你理解你所看到的錯誤信息。將實際的錯誤消息添加到您的問題可能是有意義的。

+0

謝謝你的回覆。 safari讓我知道的是「Safari無法打開頁面https:// [服務器地址]:8443/[WebServer],因爲Safari無法與服務器建立安全連接」,我不知道爲什麼。 – lylv

+0

Safari「無法建立安全連接」完全是因爲它不信任服務器提供的(可能是自簽名的)公鑰。雖然加密可以起作用,但您不知道與誰進行通信 - 因此Safari不信任它並拒絕連接。我不知道如何說服Safari手動覆蓋您的網站的這種信任。Firefox在等價錯誤消息的頁面上提供此選項。 –

3

我認爲你必須在你的Safari一個keychain問題。沒有https頁面的作品,不只是你的網站。正確?經過一番搜索,我發現這個可以幫助你:

safari cant connect to https

基本上要重新創建keychain,這似乎被刪除完成(Renamning可能是巧妙的將其保存爲備份)的

~/Library/Preferences/com.apple.security.plist 

和/或

~/Library/Preferences/com.apple.security.revocation.plist 

,然後再試一次。您可能需要重新啓動Safari。我不是自己運行Safari,但希望它有幫助。

+0

謝謝你的回覆。我的Safari可以連接到https://www.facebook.com,https://www.google.com,但僅限於本地頁面,它無法連接。 – lylv

+0

拯救生命!刪除'〜/ Library/Preferences/com.apple.security.revocation.plist'允許我再次訪問Safari中的https網站,包括瀏覽Mac App Store! –

0

確保您的自簽名證書未過期。例如,在Chrome或Firefox中打開網站並瀏覽證書詳細信息,特別是有效日期。