D/2013-08-03 をテンプレートにして作成
検索
開始行:
** Apache2でSNI [#d6360d52]
> 1台のサーバーと1つのIPアドレスで複数のドメインをSSLで運用するには[[SNI:http://ja.wikipedia.org/wiki/Server_Name_Indication]]を使うと実現できます。Apache2+OpenSSLでSNIメモ
> CentOSの[[yumはApache2.2.3までしか対応していない:http://serverfault.com/questions/97125/yum-doesnt-update-httpd-past-version-2-2-3-on-centos]]ようなので自力インストールが必要でしたのでhttpd-2.2.25をインストール。
# apachectl configtest
Syntax error on line 437 of /usr/local/apache2/conf/httpd.conf:
SSLStrictSNIVHostCheck failed; OpenSSL is not built with support for TLS extensions and SNI
indication. Refer to the documentation, and build a compatible version of OpenSSL.
> OpenSSLもYumでは0.9.8eまでしか入らない。SNIには0.9.8f以上が必要らしいのでこれも最新を自力インストールしました。
openssl-1.0.1e
# ./config shared
> apache2を再コンパイル
./configure --prefix=/usr/local/apache2 --enable-dav --enable-proxy
--enable-ssl --enable-suexec --enable-rewrite --with-included-apr
--enable-so --with-ssl=/usr/local/ssl
> 起動してみると今度はこんなエラーが。
/usr/local/apache2/bin/apachectl configtest
/usr/local/apache2/bin/httpd: error while loading shared libraries:
libssl.so.1.0.0: cannot open shared object file: No such file or directory
> 仮対処としてリンクだけ貼って逃げました。
# cd /usr/local/apache2/lib
# ln -s /usr/local/ssl/lib/libssl.so.1.0.0
# ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0
> apache2起動、失敗。まだエラー
error_log
Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
> SNIを使う場合、SSLのデフォルト値は効かない模様。これが出たら全てのバーチャルホストにSSLEngine行が入っているかチェックしましょう。
> 最終的にこんな風になって、無事に証明書の切替が実現できました。
Include conf/extra/httpd-ssl.conf
SSLStrictSNIVHostCheck off
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot <path>
ServerName <domain A>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile <crt A>
SSLCertificateKeyFile <key A>
SSLCACertificateFile <intermediate.crt>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot <path>
ServerName <domain B>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile <crt B>
SSLCertificateKeyFile <key B>
SSLCACertificateFile <intermediate.crt>
</VirtualHost>
----
#comment(nodate);
終了行:
** Apache2でSNI [#d6360d52]
> 1台のサーバーと1つのIPアドレスで複数のドメインをSSLで運用するには[[SNI:http://ja.wikipedia.org/wiki/Server_Name_Indication]]を使うと実現できます。Apache2+OpenSSLでSNIメモ
> CentOSの[[yumはApache2.2.3までしか対応していない:http://serverfault.com/questions/97125/yum-doesnt-update-httpd-past-version-2-2-3-on-centos]]ようなので自力インストールが必要でしたのでhttpd-2.2.25をインストール。
# apachectl configtest
Syntax error on line 437 of /usr/local/apache2/conf/httpd.conf:
SSLStrictSNIVHostCheck failed; OpenSSL is not built with support for TLS extensions and SNI
indication. Refer to the documentation, and build a compatible version of OpenSSL.
> OpenSSLもYumでは0.9.8eまでしか入らない。SNIには0.9.8f以上が必要らしいのでこれも最新を自力インストールしました。
openssl-1.0.1e
# ./config shared
> apache2を再コンパイル
./configure --prefix=/usr/local/apache2 --enable-dav --enable-proxy
--enable-ssl --enable-suexec --enable-rewrite --with-included-apr
--enable-so --with-ssl=/usr/local/ssl
> 起動してみると今度はこんなエラーが。
/usr/local/apache2/bin/apachectl configtest
/usr/local/apache2/bin/httpd: error while loading shared libraries:
libssl.so.1.0.0: cannot open shared object file: No such file or directory
> 仮対処としてリンクだけ貼って逃げました。
# cd /usr/local/apache2/lib
# ln -s /usr/local/ssl/lib/libssl.so.1.0.0
# ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0
> apache2起動、失敗。まだエラー
error_log
Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
> SNIを使う場合、SSLのデフォルト値は効かない模様。これが出たら全てのバーチャルホストにSSLEngine行が入っているかチェックしましょう。
> 最終的にこんな風になって、無事に証明書の切替が実現できました。
Include conf/extra/httpd-ssl.conf
SSLStrictSNIVHostCheck off
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot <path>
ServerName <domain A>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile <crt A>
SSLCertificateKeyFile <key A>
SSLCACertificateFile <intermediate.crt>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot <path>
ServerName <domain B>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile <crt B>
SSLCertificateKeyFile <key B>
SSLCACertificateFile <intermediate.crt>
</VirtualHost>
----
#comment(nodate);
ページ名:
[
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]