さくらインターネットのレンタルサーバーで、wordpressを使用して運用しているホームページをSSL対応した際に少し困ったことがありました。
困ったこととは?
さくらインターネットのレンタルサーバーでSSL対応した際に困ったこととは、
https://アクセスした際にトップページ以外の全ページがスタイル崩れする!
といった症状です。
cssファイルのリンク先がhttp://となり正常に読み込まれていないのが原因のようでした。
結果として解決できました
色々と試行錯誤して、結果的には正常に全ページ閲覧できるようになりましたが、今後のためにその際行った作業内容を記事に残します。
対応内容とは?
次の順番で作業を行いました。
- http://でホームページが正常にアクセスできることを確認します
- SSLを有効にしてhttps://でホームページ(トップページのみ)が正常に表示されるのを確認します。
- https://でトップページ以外のページにアクセスしてスタイルがずれていたり不具合が出ているのを確認します。
- wp-includesフォルダ内にある、「function.php」ファイルを開き、下記の赤文字部分を編集します。
※falseをtrueに変更するのみ
/** * Determine if SSL is used. * * @since 2.6.0 * * @return bool True if SSL, false if not used. */ function is_ssl() { if ( isset($_SERVER['HTTPS']) ) { if ( 'on' == strtolower($_SERVER['HTTPS']) ) return true; if ( '1' == $_SERVER['HTTPS'] ) return true; } elseif ( isset($_SERVER['SERVER_PORT']) && ( '443' == $_SERVER['SERVER_PORT'] ) ) { return true; } return false; → return true; }
以上で全ページが正常に表示されるようになりました。
SSL/TLSの拡張仕様の1つであるSNI(Server Name Indication)が原因のようでした。
しかし今回の対応だと、wordpressがアップデートされる度に再発してしまうので、
今後wordpressをアップデートする度に今回の修正が必要になります。
2017年1月16日(水)追記
先週、社内で管理しているwordpressサイトから次々と「WordPress x.x.x へのサイト更新が完了しました」メールが送られてきました。
その中には、さくらインターネットのレンタルサーバーで、かつSSLオプションを使用しているWEBサイトも含まれていました。
そして、、、当該サーバーで当記事の事象が自動的に発生しました。
近いうちに根治対応を行う予定なので、対応ができ次第その記事も掲載します。