Apache-Httpd

當 DNS 為我提供多個 IP 地址之一時,如何驗證特定電腦的證書?

  • July 25, 2020

我有一個使用 Apache 的帶有 6 台前端電腦的雲設置。我安裝了新的 SSL 證書。現在我想驗證所有機器都有證書。

問題是如果我只使用https://www.example.com/IP 地址將是隨機分配的,我將能夠驗證其中一台電腦。DNS 以循環的簡單形式返回 6 個 IP 地址之一。

我知道如何使用該/etc/hosts文件在我的電腦上強制使用 IP 地址,但我希望有一種更簡單的方法可以做到這一點。喜歡curl在域名中使用和指定 IP 地址?

我更喜歡將它作為命令行(wget, curl, open_ssl…),這樣我就可以編寫腳本並以自動方式驗證證書的日期,並確保所有電腦都提供正確的證書。該命令應下載證書,以便可以在我的客戶端電腦上進行檢查。

您可以為相關站點指定一個明確的 IP 地址來 curl,即

$ curl --resolve example.com:443:192.0.2.4 https://example.com

您還可以使用openssl s_clientIP 並為 SNI 提供明確的主機名:

$ openssl s_client -connect 192.0.2.4:443 -servername example.com

引用自:https://unix.stackexchange.com/questions/600041