最近では、SSL化してないホームページを見ると放置されてるなーって思ってしまう今日この頃です。自分のページも無料でSSL化したり、会社のホームページは有料でSSL化したりしていますが、どうしても忘れてしまいます。
その為の備忘録としてブログにしておきます。
無料SSLでの確認
最近では、ほとんど無料SSL化という感じでサーバー屋さんで準備されていますが、「Let's Encrypt」ってのを使う時に、90日で終了になるために、更新が必要になり、その度に設定をしなおさなければならないような感じのサーバー屋さんもあります。
90日も経過すると、はっきりいって忘れてしまいます。
その設定の仕方は、サーバー屋さんのサポートページに書いてありますので、その手順に従ってやっていけばよいですね。
私も複数のサーバー屋さんを使っていますが、Xserverの無料SSLは更新も自動でやってくれるようで便利です。
設定の方法は、下記のようなサイトをみれば詳細は乗っています。
●エックスサーバーへWordPressインストール後「無効なURL」表示に困った話
●エックスサーバーでSSL化するのは超簡単! 無料で設定できるよ!
SSL設定しても無効なURL
DNSが引けるまで数日かかる場合もあるよって脅されていますが、いままでの経験上数分で引ける場合もある。そんなせっかちな人には、いろいろと試す方法があります。
無料SSLの設定が終了して、10分後接続してみたら、
「無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。」
この画面から変更しません。また、30分後にやっても同じです。
仕方なく、ブラウザのChromeのキャッシュを削除してみました。
キャッシュの削除方法などは下記のサイトを参考にどうぞ。
●エックスサーバーへWordPressインストール後「無効なURL」表示に困った話
WWW付きでアクセスでOK
次に、https://www.独自ドメインでアクセスしたら、アクセスできました。
不思議な事に、これでアクセスした後は、https://独自ドメインでも見ることが可能になりました。
ちなみに、XSERVERのほうでは、
上記の管理パネルのように、自動でリダイレクトの設定をしてくれるようです。
もし、この設定が無い場合は、自分でhtaccessなどを編集してリダイレクトを変えないといけませんね。
http➡httpsへリダイレクト設定
現時点では、http://独自ドメインでアクセスできてしまいます。
せっかくSSL化したので、すべてをSSL化で統一したいものです。
そこで、httpでアクセスしてきたものをhttpsにリダイレクトの設定が必要になります。
ここからは、htaccessの編集が必要になりますので、FTPなどでサーバーにアクセスして修正が必要になります。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
上記がデフォルトのhtaccessですが、下記のようにしたらhttpsにリダイレクトになりました。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
WordPressの設定をhttpsにする
最終設定にて、WordPressの方をhttpsに統一させます。
これで、Wordpress内のリンクなどもすべてhttpsにて統一されました。
XSERVERのように、無料で更新までしてくれるSSLサービスがあると助かりますね。
XSERVERでSSLが更新されない?
サイトをみていたら、XSERVERでSSLが更新されないという記事をみたのでリンクを貼っておきます。
●エックスサーバーの無料独自SSLが自動更新に失敗したら手動で更新しましょう
失敗したら何か連絡がくるようなので、管理パネルから手動で更新できるようですね。
一から設定しなければならないのではなければ良しとしましょう。