neutligenの日記

初心者が商用開発に挑む姿を綴ります。僕のような初心者の方に「こんな奴もいるんかー」と思って読んでもらい、コメントまで貰えたら幸いです。

httpsの証明書を取得したけどhttpアクセスを許しちゃったのでGoogle Analyticsで収集がつかなくなって困った話

httpsの証明書を取得したけどhttpアクセスを許しちゃったのでGoogle Analyticsで収集がつかなくなって困った話」

目標:httpsの証明書を取得、且つGoogle Analyticsを導入してサイト管理

目次:
1.https(SSL/TLS)の証明書を取得
2.wordpressサイトにGoogle Analyticsを導入
3.httpへのアクセスをhttpsにリダイレクトする

     

1.https(SSL/TLS)の証明書を取得

Googleは検索ランキングのシグナルにHTTPSを入れてますし、何よりセキューリティ確保のためにもSSL/TLSの証明書取得は必須だなと日々思ってたのでやりました。

きっかけは勉強会で教えてもらった"Let's Encrypt"ってオシャレなサービス。 無料でSSL/TLSの証明書を取得できます。すごい

サイトにアクセスすると「すべてはCertbotがやってくれますよ」みたいなことが書いてあるのでそちらへ移動。
自分の環境(WebサーバーとOSのみ)を選択すると、むちゃくちゃ簡単なインストール方法が案内されます。

自分はApacheをCentOS6で使ってたので、以下の方法が表示されました。

$ sudo yum install epel-release
# epelアドオンパッケージを入れてー
# 途中「対象のドメインを入力する画面」とか「HTTPからのアクセスはどうする?」みたいなことは聞かれるので応える。
$ wget https://dl.eff.org/certbot-auto
# certbotをダウンロードしてー
$ chmod a+x certbot-auto
# 言われるがままーw
$ ./certbot-auto
# certbot実行!

これで動いちゃいます。
対象のドメインにアクセスしたらhttpsがついとるがなー。 やばい、簡単、無料、安全、最高(でも3ヶ月で証明書切れるから更新忘れずに)。

ここで僕はミスりました。。"https://ホニャホニャ"も"http://ホニャホニャ"どっちでもアクセスできるようにしてしまってました。


2.wordpressサイトにGoogle Analyticsを導入

Webメディアの運用状況を管理するためにGoogle Analyticsを導入しやした。
WordPressのサイトだったのでWordpress用の

ラッキングタグはgoogle analyticsのサイトに入ってGoogleアカウントがあれば、そんなに困らず獲れます。
WordPessにGoogle Analytics導入にはプラグインが楽。(こちらを参考にさせていただきました!) WordPressのサイトにトラッキングタグは入れられないので、トラッキングIDを覚えましょうぜ。

。。。ここで事件発生

"https://ホニャホニャ"と"http://ホニャホニャ"

どっちにすんねん!!!

どっちもアクセスできるってことは両方のトラッキングIDが要る。 けど、WordPressプラグインには二つのトラッキングID入れられないし、同じプラグイン二つ導入するとかも無理。
ヤバだな。。。。

いろいろ考えましたが、絶対生かす"https://ホニャホニャ"のトラッキングIDを発行してこちらの案内に従って設定しました。
プラグインの名前は"Google Analytics by MonsterInsights"に変わってましたが、同じ設定で行けましたね。


3.httpへのアクセスをhttpsにリダイレクトする

やっちまったことはしゃーないので、対策を検討。
certbotの設定変更するか・・・・

結構ハイハードル。。

じゃあもう"http://ホニャホニャ"で来たら"https://ホニャホニャ"にリダイレクトさせよう!
ってことでWebサーバーで設定変更しました。

$ cd /etc/httpd/conf
$ vi httpd.conf
# Apacheの設定ファイルにアクセスして編集

以下の行を探して

/etc/httpd/conf/httpd.conf

# LoadModule rewrite_module modules/mod_rewrite.so

コメントじゃなくして(#を採る)リダイレクトの設定を書き込む。

/etc/httpd/conf/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

<VirtualHost *:80>
  ServerName www.example.com
  <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
  </IfModule>
</VirtualHost>

Webサーバーの設定を変えたので、再起動しときます。

$ service httpd restart

なんということでしょう。
"http://ホニャホニャ"にアクセスしたら"https://ホニャホニャ"にリダイレクトしました。

この技はこちらのサイトに学びました。

問題解決。....ふぅ

環境

OS: CentOs6
サーバー:さくらのクラウド
Webサーバー:Apache