Ssl

具有公共和私有 IP 的自簽名證書 (Tomcat 7)

  • November 4, 2015

我正在配置一個同時具有公共和私有 IP 的伺服器。它沒有任何關聯的域名。

使用自簽名證書訪問以下 URL 可以正常工作:

   https://<PUBLIC IP>:8443

但是,當我嘗試使用其私有 IP 訪問該伺服器時:

   wget https://<PRIVATE IP>:8443

我收到以下錯誤:

錯誤:無法驗證 ‘/C=?/ST=?/L=?/O=?/OU=?/CN=Unknown’頒發的證書:遇到自簽名證書。錯誤:證書公用名“未知”與請求的主機名“”不匹配。要不安全地連接,請使用 `–no-check-certificate’。

有沒有辦法在配置中指定公共和私有 IP 都應該被接受?

我還嘗試在包含地址屬性的 server.xml 中包含多個連接器,但它不起作用。

我認為你在這裡有兩個基本問題。首先,雖然 Windows(據我所知)實現了一個中央證書儲存和驗證機制,應用程序通常呼叫它來(例如)驗證 SSL 證書,但 UNIX 應用程序都是自己執行的。因此,僅僅因為一個瀏覽器工作,並不意味著另一個瀏覽器,或者wget,將 - PHP 腳本將做什麼完全是個謎,並且完全依賴於相關庫。

其次,您決定使用嵌入 IP 地址而不是主機名的 SSL 證書,而我們 之前在這些部分中遇到 問題。

我自己的感覺是,繼續嘗試使這一策略奏效,並沒有很好地利用合格的時間。相反,註冊一個域名——它們幾乎沒有成本,而且通常比 IP 地址更容易輸入——並設置水平分割 DNS,以便內部客戶端獲取內部地址,外部客戶端獲取外部地址。這一下子解決了你的兩個問題。

引用自:https://serverfault.com/questions/733495