blogspot.comのhttps化

私のブログをホスティングしてもらっているBlogger。
この4月、その管理ページに以下の注意書きが現れました。

4 月末リリース予定。 
Blogspot ドメインのブログの訪問者は全員、https://<your-blog>.blogspot.com にアクセスすれば暗号化された接続でブログを閲覧できるようになります。ブログを参照する既存のリンクやブックマークも引き続き動作します。この変更に伴い、[HTTPS の使用] 設定は廃止され、お客様のブログでは常に HTTPS バージョンが利用できるようになります。

そして5月に入り、blogspot.comのhttps化がなされました。
ところが、カスタムドメインのブログではhttpsは利用できません。
そうです。私のブログはカスタムドメインを設定しているのです。
wordpress.comならカスタムドメインでもhttpsが使えるみたいなんですけど。

で、これを機会にカスタムドメインの使用を中止することにしました。
現在私のブログは過去の経緯があって
wordpress.comとblogspot.comの2つでホスティングしており、
便宜上メインはblogspot.com側にしていて
こちらにカスタムドメインを設定しております。
しかし、将来何かの都合でホスティング先を替える、
あるいは替えざるを得ない状況になることを考慮し、
リンクを作る際は基本的にカスタムドメインを利用せず、
blogspot.comのサブドメインを指定するようにしています。
ということで設定上はカスタムドメインを削除するだけで済みます。

しかし、私の預かり知らぬところで、私のブログへのリンクに
カスタムドメインが使用されている可能性があり、
それらがリンク切れを起こすのはいいことではありません。
これはカスタムドメインから
blogspot.comのサブドメインへのリダイレクトするように
しておくことで防げます。

つまり、現在自前のDNSサーバで
カスタムドメインの飛び先をgoogleのサーバにしているのを止めて、
自前のウェブサーバに飛ばすようにし、
そこからURLを適切に加工して
blogspot.comのサブドメインにリダイレクトするようにすれば解決です。
以下、それら自前サーバを運用しているVPSの設定を変更します。

カスタムドメインの切り離しをblogspot.comの設定コンソールで行った後、
自前サーバにログインし、ウェブサーバの設定を行います。
ウェブサーバは既に正常動作しており、PHPが使えることが前提です。
“/etc/apache2/sites-available/000-default.conf”設定ファイルを
“/etc/apache2/sites-available/<カスタムドメインのホスト名>.conf”にコピーして、
そのコピーしたものの内容を

ServerName <カスタムドメインのホスト名>
DocumentRoot /var/<カスタムドメインのホスト名>/html

となるように編集し、さらにVirtualHostの終了タグの直前に

RewriteEngine On
RewriteRule ^/(.*)$ /redirect.php?file=$1 [PT,L]

を加えます。
そして”/var/<カスタムドメインのホスト名>/html/redirect.php”
スクリプトを作成します。その内容は

<?
$file=$_GET["file"];
$url="https://<blogspot.comのサブドメイン>/".$file;
header("HTTP/1.1 301 Moved Permanently");
header("Location: $url");
?>

とします。それから

# a2ensite <カスタムドメインのホスト名>
# service apache2 reload

を実行します。
今度はDNSサーバの設定です。
“/etc/bind/<カスタムドメインのデータベースファイル>”ファイルで
blogspot.comでカスタムドメインを使用するために

<ホスト名>    14400   IN      CNAME   ghs.google.com.

の行があるので、これを

<ホスト名>    14400   IN      CNAME   <ウェブサーバ名>.

に変更して、

# /etc/init.d/bind9 restart

で再起動します。これで完了です。

ブラウザのキャッシュやDNSリゾルバのキャッシュの有効期限の関係で
変更後すぐには期待どおりに動作しない可能性はありますが、
時間が解決してくれます。
ちなみに、アクセス数の多いサイトがウェブサーバのIPアドレスを変更する時は、
数日前からDNSサーバに設定するキャッシュの有効期限を
徐々に短くしていき、ほとんど0にしてから切り替え、
正常に動作しない時間を最小限にすると聞いたことがあります。
個人のレベルではあまり気にする必要はないでしょうが。

広告