web-dev-qa-db-ja.com

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に対応していますか?

または、ドキュメントのように./configure --with-ssl =/path/to/your/opensslを使用して最初からビルドする必要がありますか( https://wiki.Apache.org/httpd/NameBasedSSLVHostsWithSNI =)?

お時間をいただきありがとうございます。

3
GeorgeKaf

標準のCentOS httpdおよびmod_sslパッケージは、すでにSNIをサポートしています。 SNIはバージョン0.9.8f以降のopensslでサポートされており、openssl 0.9.8f以降でビルドされたバージョン2.2.12以降のhttpdは自動的にSNIをサポートします。

しかし、httpdとmod_sslがSNIをサポートしているかどうかを確認するには:

名前ベースのSSL/TLS仮想ホストを設定してテストし、再起動後にエラーログを確認します(リンク先は Apache httpd wiki 既にリンク済み):

ApacheビルドがSNIをサポートしているかどうかはどのようにしてわかりますか?

SSLが構成されているアドレスに複数の名前ベースの仮想ホストを構成し、SNIがApacheに組み込まれていない場合、Apacheの起動時に次のようなメッセージが表示されます。

"SSLと組み合わせて名前ベースの仮想ホストを使用しないでください!!"

エラーログに記録されます。
SNIが組み込まれている場合、エラーログが表示されます

[警告] 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
6
HBruijn