« 2018年勝手にブックランキング・ベスト10、元旦は車窓での読書初め | メイン | 名古屋ウィメンズマラソン2019、ゴールにておもてなしタキシード隊からティファニーペンダント受け取りました! »

TOP> Webビジネスコラム, Webをカスタマイズ

さくらインターネットのOSアップデートに伴う影響、WPで常時SSLを手動で設定したユーザは.htaccessのリダイレクト記述の変更が必要!

さくらインターネットのOSアップデートに伴う影響

さくらインターネットが、2019年1月から順次OS(FreeBSD)のアップデートを開始している。

サーバ番号により実施日が指定されており、現在は4月までのメンテナンス日程がアナウンスされている。

サーバから届くメールは、スルーしがちであるが、今回はしっかり確認する必要がある。
件名「[さくらインターネット]OSアップデートメンテナンスのお知らせ」が届いたら、必ず一読する。

アップデート日程に合わせ、対応を行わないとサイトが正しく表示されない場合がある。
具体的には、すべてのページがトップページにリダイレクトされてしまう。

その条件として、以下の3つが当てはまるサイトである
1.WordPress使用
2.常時SSL対応
3.http→httpsへのリダイレクト設定を、.htaccessに手動で記載

WordPressユーザの場合、常時SSLへの設定をWPのプラグイン「さくらのレンタルサーバ 簡単SSL化プラグイン(SAKURA RS WP SSL)」で設定している場合は影響を受けない。

しかし、このプラグインを使用しないで、上記の2の設定、つまり手動で行った場合は影響する。

サーバのアップデート開始までに、さくらインターネットサーバだけの独特のリダイレクト設定の記述を削除、もしくは書き換えることが必要である。


環境変数:X_SAKURA_FORWARDED_FOR の設定を中止する。


FreeBSDのアップデートに伴う変更点 (2019/3/4 更新)の実施に伴う影響の(2019年2月26日追記)に明記していて、さらにその下に注意事項として表示されている。

X_SAKURA_FORWARDED_FOR の設定を中止する

■アップデート前のhttpsへのリダイレクト設定


RewriteEngine On
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://www.example.jp/$1 [R=301,L]


■アップデート後(通常のサーバに設定する記述)


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


その他の設定もあり↓
.htaccessによるアクセス制御-さくらのサポート情報


アップデートの2週間前にもう一度メールが届く。

件名:「【2週間前のご案内】[さくらのレンタルサーバ] OSアップデートメンテナンスのお知らせ」

このメールが届いたら、該当者は必ず確認、対応するようにする。

(当面の対応として、アップデート前後にタイミングよく変更できない場合は、とりあえず数日前に、現在のリダイレクト設定部分を削除する。
すでにhttpsへのインデックスが行われているのであれば、問題ないと考える。
そして、アップデートが完了し、WEBサイトが問題なく表示されることを確認して、新しいリダイレクト設定を追加する。)

kousin.gif:追記

すでにさくらインターネットは通常のhttpsリダイレクトに対応したので、OSアップデートの案内にかかわらず、リダイレクト設定の変更を行っても問題ない。

ドメインのwwwあり、なしいずれかに統一したい場合は、常時SSL化したWordPressのドメイン名を統一させたい:さくらインターネットを参考にする。


kousin.gif:追記2

WordPressの常時SSL化を手動で行った場合、wp-congif.phpにさくらインターネット仕様のコードを追加している。
今回のOSアップデートでは表記したままでも問題ないが、今のうちに削除しておく。

-----------------------------------
if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';
$_SERVER['HTTP_HOST'] = 'www.xxxxx.com';
$_SERVER['SERVER_NAME'] = 'www.xxxxx.com';
$_ENV['HTTP_HOST'] = 'www.xxxxx.com';
$_ENV['SERVER_NAME'] = 'www.xxxxx.com';
}
-----------------------------------

上記のコードが書かれたままだと、さくらインターネットの新機能「ステージング」でテストを行った場合、リダイレクトが起こりテストすることが出来ない。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

トラックバック

このエントリーのトラックバックURL:
https://www.taskmother.jp/cgi-bin/taskmt/mt-tb.cgi/435