SSLの設定は新規にサイト構築時および、証明証更新時の作業となります。 更新も数年に一度ということで更新時には全て忘れてしまっています。その都度調べ直しています。 ここに要点をまとめ備忘録としておき更新時慌てないようにしようと思います。
今回の環境
- os: centos7
- CSRの作成方法:Apache 2.x + mod_ssl + OpenSSL
CSRの生成(Apache 2.x + mod_ssl + OpenSSL)
openssl バージョン確認
秘密鍵の作成
秘密鍵の確認
証明書署名要求の作成(CSR)
フィールド | 説明 | 例 |
---|---|---|
Country Name | 国を示す2文字のISO | JP |
State or Province Name | 組織が置かれている都道府県 | Tokyo |
Locality Name | 組織が置かれている市区町村 | MinamiBousou-city |
Organization Name | 組織の名称 | Hagiwara |
Organization Unit Name | 組織での部署名 指定がない場合は -(ハイフン) |
System |
Common Name | ウェブサーバのFQDN | ssl.codingstock.jp ワイルドカードオプションを 利用の場合は、[*]を含める。 例: *.codigngstock.jp |
Email Addres | 入力不要 | – |
A challenge password | 入力不要 | – |
An optional company name | 入力不要 | – |
CSRの内容を確認
apache の設定
mod_ssl バージョン確認
mod_sslがインストールされていなかった場合
# yum install mod24_ssl
ssl.confの編集
/etc/httpd/conf.d/ssl.conf を編集
デフォルトのファイルは英文での説明が長いので説明分は削除して必要な設定事項のみにしてみました。
編集する部分
- 対象となるコンテンツの設置場所
- サイトのURL
- 首都きした証明書、中間証明書および秘密鍵のファイル
ssl.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
Listen 443 https SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog SSLSessionCache shmcb:/run/httpd/sslcache(512000) SSLSessionCacheTimeout 300 SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin SSLCryptoDevice builtin <VirtualHost _default_:443> DocumentRoot "/var/www/html/codingstock/wordpress2/" #<font color="red">公開用フォルダー</font> ServerName secure.sample.com:443 #<font color="red">公開用アドレス</font> ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA SSLCertificateFile /path/to//servercrt.pem SSLCertificateKeyFile /path/to/serverkey.pem SSLCACertificateFile /path/to/servercacert.cer #<font color="red">プロバイダーから取得した証明書およb中間証明書の保存場所を指定</font> <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> |
ワードプレスにHTTPSを導入する場合
wp-configの編集
ここでは、wp-config.php を直接編集して対応してみます。
WordPress Codex日本語版 > サイト URL の変更参照
注)ファイルを変更(上記内容の追記)後パーマリンクがうまく動いていないようです。「パーマリンク設定で上書き保存をすれば解決しました。直接SSHでログインしてエディターで(vim)編集しましたが、設定を間違えると表示されなくなったり、管理ページにログインできなくなります。必ず「WordPress Codex日本語版の内容を確認してから行ってください。