ZeroSSLで当サイトをhttps化

ZeroSSLより証明書ダウンロード

ZeroSSLで当サイトをhttps化した手順スクリーンショット

Get Free SSL

 New Certificate 

ドメイン名yeh.jpを入力し  Next Step → 

90-Day Certificateを選択し  Next Step → 

Next Step → 

 

Freeを確認して  Next Step → 

Email Verificationを選択しメールを待つも全然メールが送られてこなかったので
HTTP File Upload を選択
Download File をクリックし認証ファイル(テキストファイル)をダウンロードし
DocumentRootの直下に/.well-known/pki-validation フォルダを作成し認証ファイルをSCPで転送

外部からテキストファイルがアクセスできるか確認→OK

ファイル設置後  Verify Domain  クリック

ZeroSSLで確認され 証明書がダウンロード出来る(Download Certificate(.zip))

zipファイル ダウンロード後

zipファイルの中身(以下の3ファイル)

ca_bundle.crt:ルート証明書
certificate.crt:サーバー証明書
private.key:サーバー秘密鍵

Email Verificationを選択しメールを待つも全然メールが送られてこなかったが、HTTPで認証を済ませた後にメールは送られてきました。(遅い、、、)

サーバ設定

証明書・秘密鍵ファイルの設置

/etc/ssl/
ca_bundle.crt
certificate.crt
private.key
を設置

バックアップ

WordPressで用いているMySQLデータベースのダンプを取得(バックアップ)
20210418_yeh_mysql.dmp

Public_html配下を全部バックアップ
20210418_public_htmlBK.tar.gz

MySQLデータベースのUpdate

マルチサイトとして設定しているWordPressで用いているDBテーブルの記述をhttpをhttpsにUpdate 今回はphpMyAdminを使用

wp-options
編集からhttpをhttpsとする。

Apache Config設定 1IPアドレスのマルチサイト設定

conf.d内にVirtualHost設定

Rewrite設定

Port80
http://itamae-dining.ddo.jp(廃止予定)→https://fujisawa-sho.jp
http://yeh.jp→https://yeh.jp

→https://fujisawa-sho.jp

# apachectl configtest
Syntax OK

# systemctl restart httpd

備忘録的今回のRewrite設定

RewriteCond %{http_host} ^itamae-dining\.ddo\.jp
→もしURLホスト名がitamae-dining.ddo.jpだったら
RewriteRule ^(.*)$ https://fujisawa-sho.jp$1 [R=301,L]
→^(.*)$ 正規表現 https://fujiwa-sho.jp

当初はネットほぼコピペで$1の前に/を記述していた。これは.htaccess内でconfは/不要
RewriteRule ^(.*)$ https://fujisawa-sho.jp/$1 [R=301,L]
Logを見ていて判明しました。

RewriteCond %{HTTPS} off
→https以外からの通信の時
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
→httpsにリライトする

RewriteCond 書換を実行する条件
RewriteRule リライトのルール
%{http_host} URLホスト名の変数
\ エスケープ この場合は.をそのまま文字の.として認識させる
^(.*)$ ^行頭 .任意の一文字 * 直線の文字を0回以上繰り返す $ 行末=全てにマッチ
R=301 恒久的に変更される時の転送処理
L URL書き換え処理を中止し以降は書き換えを行わないようにする
$1 一つ前の()中身 上記の場合ドメイン名以降のURLを指す

Rewriteのログ

#itamae-dining:80
<VirtualHost *:80>
LogLevel info rewrite:trace2
</VirtualHost>

記述を追加し
systemctl restart httpd
tail -f /var/log/httpd/error_log
[Sun May 23 16:47:42.096540 2021] [rewrite:trace1] [pid 20423] mod_rewrite.c(470): [client アクセス元のIPアドレス:54004] アクセス元のIPアドレス - - [itamae-dining.ddo.jp/sid#7f2bfa11e978][rid#7f2bfa3a3ac0/initial] redirect to https://fujisawa-sho.jp/ [REDIRECT/301]

リダイレクトされていることを確認

https化以外の失敗

テーマ設定が初期化してしまった

WordPressで使っているテーマが初期設定になってしまった。この際ということで、別テーマで設定を行っている。orz

WordPressサイトアップグレードが失敗 → 解決済み

注: https://yeh.jp の更新中に問題が発生しました。サーバーが稼働しているサイトに接続できない可能性があります。エラーメッセージ: cURL error 35: Encountered end of file

不具合を引きずりながら運用中

解決しました。メッセージ中のcURLに反応してcurlのupdateをしてみました。VPSがダメダメでまるごとのyum updateが出来ないので、
# yum update curl
-> トランザクションの確認を実行しています。
---> パッケージ curl.x86_64 0:7.29.0-25.el7.centos を 更新
---> パッケージ curl.x86_64 0:7.29.0-59.el7_9.1 を アップデート

よかった。。。

 

コメント