「SSLの導入」の編集履歴(バックアップ)一覧はこちら
「SSLの導入」(2013/02/22 (金) 16:22:43) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
いずれの場合も必要なのは、証明書、秘密鍵、中間証明書の3点。CSRはいらない。
*SSLの更新手順
以下の3ファイルの中身を書き換えた後でhttpdを再起動するだけで、基本的にOK
ただし、新規作成時と同様にどれか1つだけ古かったり記述に誤りがあると再起動に失敗しサービスが停止するので
書き換え作業は古いファイルを一旦リネームして保存してからやるのがよいだろう
/etc/pki/tls/certs/
ここにある証明書と中間証明書
/etc/pki/tls/private/
ここにある秘密鍵
*SSLの導入手順
***追加でIPアドレスを割り当てるなど、サーバーに複数のIPアドレスを用意
レンタルサーバーなら、そこに問い合わせる
***DNSの設定で、Aレコードをhttpsで使用する専用のIPアドレスを指定
お名前.comの管理画面とかで
***追加したIPアドレスをNICに割り当てる
/etc/sysconfig/network-scripts/
の下にある(多くの場合)ifcfg-eth0という名前のファイルがあるので、
ifcfg-eth0:0、ifcfg-eth0:1みたいに増やして行って中身をそれに合わせて修正する
ちなみに、ただコピーしただけだとネットワークの再起動に失敗してNIC自体が使えなくなるので、
ハウジングサーバーの場合はデータセンターまで行ってローカルから設定変更しなければならず
その間インターネットからの接続はもちろん全て不可能
レンタルサーバーの場合は、有料で設定変更依頼をかけて管理会社にやってもらう必要が出てくるので要注意
何なら、最初からこの設定だけは向こうにやってもらう方が安全かもしれない
***httpd.confの修正
/etc/httpd/conf.d/ssl.conf
の中のデフォルトSSL設定をコメントアウトしないと
こっちが適用されて、目的の証明書を見に行ってくれない場合があるようだ
実際に修正するのは、そこからインクルードするconfファイルを/etc/httpd/conf.d/下に置く
設定例
<VirtualHost xxx.xxx.xxx.xxx:443>
ServerName example.com:443
DocumentRoot "/home/example.com/open"
CustomLog /var/log/httpd/example_com_ssl_log combined_mb env=!except-request
ErrorLog /var/log/httpd/example_com_ssl_error_log
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/example.cert.pem
SSLCertificateKeyFile /etc/pki/tls/private/example.key.pem
SSLCertificateChainFile /etc/pki/tls/certs/example.inca.pem
</VirtualHost>
***証明書、その他の記述
証明書(example.cert.pem)
-----BEGIN CERTIFICATE-----で始まる
秘密鍵(example.key.pem)
-----BEGIN RSA PRIVATE KEY-----で始まる
中間証明書(example.inca.pem)
-----BEGIN CERTIFICATE-----で始まり、複数ブロックになることが多い
の3ファイルを↑のconfに記述したそれぞれの場所に設置
ちなみに、更新の場合は、この3つのファイルの中身を新しいものに書き換えるだけで完了
***httpdをリスタート
設定に誤りがあると再起動に失敗する
すぐに原因が分からない場合は、SSLCertificate~ 辺りをコメントアウトしてSSLを無効にすれば
とりあえず起動するはず
なお、この間違いは apachectl configtest ではエラーにならない
再起動前に確認する方法は現在までに発見されていない
*SSL
いずれの場合も必要なのは、証明書、秘密鍵、中間証明書の3点。CSRはいらない。
*SSLの更新手順
以下の3ファイルの中身を書き換えた後でhttpdを再起動するだけで、基本的にOK
ただし、新規作成時と同様にどれか1つだけ古かったり記述に誤りがあると再起動に失敗しサービスが停止するので
書き換え作業は古いファイルを一旦リネームして保存してからやるのがよいだろう
/etc/pki/tls/certs/
ここにある証明書と中間証明書
/etc/pki/tls/private/
ここにある秘密鍵
*SSLの導入手順
***追加でIPアドレスを割り当てるなど、サーバーに複数のIPアドレスを用意
レンタルサーバーなら、そこに問い合わせる
***DNSの設定で、Aレコードをhttpsで使用する専用のIPアドレスを指定
お名前.comの管理画面とかで
***追加したIPアドレスをNICに割り当てる
/etc/sysconfig/network-scripts/
の下にある(多くの場合)ifcfg-eth0という名前のファイルがあるので、
ifcfg-eth0:0、ifcfg-eth0:1みたいに増やして行って中身をそれに合わせて修正する
ちなみに、ただコピーしただけだとネットワークの再起動に失敗してNIC自体が使えなくなるので、
ハウジングサーバーの場合はデータセンターまで行ってローカルから設定変更しなければならず
その間インターネットからの接続はもちろん全て不可能
レンタルサーバーの場合は、有料で設定変更依頼をかけて管理会社にやってもらう必要が出てくるので要注意
何なら、最初からこの設定だけは向こうにやってもらう方が安全かもしれない
***httpd.confの修正
/etc/httpd/conf.d/ssl.conf
の中のデフォルトSSL設定をコメントアウトしないと
こっちが適用されて、目的の証明書を見に行ってくれない場合があるようだ
実際に修正するのは、そこからインクルードするconfファイルを/etc/httpd/conf.d/下に置く
設定例
<VirtualHost xxx.xxx.xxx.xxx:443>
ServerName example.com:443
DocumentRoot "/home/example.com/open"
CustomLog /var/log/httpd/example_com_ssl_log combined_mb env=!except-request
ErrorLog /var/log/httpd/example_com_ssl_error_log
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/example.cert.pem
SSLCertificateKeyFile /etc/pki/tls/private/example.key.pem
SSLCertificateChainFile /etc/pki/tls/certs/example.inca.pem
</VirtualHost>
***証明書、その他の記述
証明書(example.cert.pem)
-----BEGIN CERTIFICATE-----で始まる
秘密鍵(example.key.pem)
-----BEGIN RSA PRIVATE KEY-----で始まる
中間証明書(example.inca.pem)
-----BEGIN CERTIFICATE-----で始まり、複数ブロックになることが多い
の3ファイルを↑のconfに記述したそれぞれの場所に設置
ちなみに、更新の場合は、この3つのファイルの中身を新しいものに書き換えるだけで完了
***httpdをリスタート
設定に誤りがあると再起動に失敗する
すぐに原因が分からない場合は、SSLCertificate~ 辺りをコメントアウトしてSSLを無効にすれば
とりあえず起動するはず
なお、この間違いは apachectl configtest ではエラーにならない
再起動前に確認する方法は現在までに発見されていない