如何檢查 apache 的 SNI(伺服器名稱指示)可用性?
我有一個centos 7伺服器。我使用 IUS 儲存庫 ( https://ius.io/ )從 apache 2.4.6 切換到 apache 2.4.25 。我的目標是使用單個 IP 支持多個 SSL 證書。
我已經安裝了:
- Apache/2.4.25 (CentOS)
- httpd24u-mod_ssl-2.4.25-3.ius.centos7.x86_64
- openssl-1.0.1e-60.el7_3.1.x86_64
apache 現在是否啟用了 SNI?
還是我必須像文件( https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI )中那樣使用 ./configure –with-ssl=/path/to/your/openssl 從頭開始建構它?
感謝您的時間。
庫存的 CentOS httpd 和 mod_ssl 軟體包已經支持 SNI。自 0.9.8f 版起,openssl 就支持 SNI,自 2.2.12 版以來,使用 openssl 0.9.8f 和更新版本建構的任何 httpd 都將自動支持 SNI。
但要檢查您的 httpd 和 mod_ssl 是否支持 SNI:
只需通過配置基於名稱的 SSL/TLS 虛擬主機進行測試,並在重新啟動後檢查您的錯誤日誌(來自您已經連結到的apache httpd wiki ):
如何判斷您的 Apache 建構是否支持 SNI?
如果您為配置 SSL 的地址配置多個基於名稱的虛擬主機,並且 SNI 未內置到您的 Apache 中,那麼在 Apache 啟動時會出現如下消息
> > “您不應該將基於名稱的虛擬主機與 SSL 結合使用!! ” > > >
將出現在錯誤日誌中。
如果 SNI 是內置的,那麼錯誤日誌將顯示
> > “$$ warn $$Init:基於名稱的 SSL 虛擬主機僅適用於具有 TLS 伺服器名稱指示支持 (RFC 4366) 的客戶端”。 > > >
或者用於
ldd
確認 mod_ssl 與 openssl 的 libssl 連結並確認版本:ldd /usr/lib64/httpd/modules/mod_ssl.so linux-vdso.so.1 => (0x00007fff323f8000) libssl.so.10 => /lib64/libssl.so.10 (0x00007f3d99792000) <======= libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f3d993a8000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3d9918b000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f3d98f87000) libc.so.6 => /lib64/libc.so.6 (0x00007f3d98bc6000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f3d98977000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f3d98690000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f3d9848c000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f3d98259000) libz.so.1 => /lib64/libz.so.1 (0x00007f3d98043000) /lib64/ld-linux-x86-64.so.2 (0x00007f3d99c3d000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f3d97e34000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f3d97c2f000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f3d97a15000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f3d977ed000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f3d9758c000) rpm -qf /lib64/libssl.so.10 openssl-libs-1.0.1e-60.el7_3.1.x86_64