まず、前提として私の環境ですがWindowsにVirtualBox/Vagrantを使ってローカル開発環境を構築してあります。
VM環境にrails/mongrel
ホスト側にapacheでリバースプロキシを置いてます。
クライアント⇔リバースプロキシ(Windows)⇔WEBアプリ(VM)
ざっくり言うとこんな感じ。
ローカルだけで完結している完全クローズドなWEB開発環境です。
本題
開発中はtail -f
でDEBUGログを常にウォッチできる状態にしているのですが、ある日突然ページのリロードもなにもしていないのにリクエストがどこからか飛んでくるようになりました。
秒単位で見てきっちり15分間隔でのリクエストなので機械的なアクセスであることは間違いなさそうです。
cronは何も設定していません。
はて?そしたらなんだろう?
最近変わったことといったら、動作確認用ブラウザをOperaに変更したことぐらいです。
(標準機能としてADブロッカーがあったので導入しました。笑)
リクエストされているURLからの憶測で、ブラウザ上の履歴に対してリクエストが走っているのではないかと思い確認してみると、しっかり履歴に残っていました。
試しに履歴を削除してみると、、、止まった!
アクセスログも確認してみたらUAはOperaの様子。
アクセスログ(掲載用に少し加工してあります)
127.0.0.1 - - [24/Jul/2017:13:06:43 +0900] "GET /hoge HTTP/1.1" 200 14911 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36 OPR/48.0.2657.0 (Edition developer)"
127.0.0.1 - - [24/Jul/2017:13:21:43 +0900] "GET /hoge HTTP/1.1" 200 14911 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36 OPR/48.0.2657.0 (Edition developer)"
127.0.0.1 - - [24/Jul/2017:13:36:43 +0900] "GET /hoge HTTP/1.1" 200 14911 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36 OPR/48.0.2657.0 (Edition developer)"
127.0.0.1 - - [24/Jul/2017:13:51:43 +0900] "GET /hoge HTTP/1.1" 200 14911 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36 OPR/48.0.2657.0 (Edition developer)"
127.0.0.1 - - [24/Jul/2017:14:06:43 +0900] "GET /hoge HTTP/1.1" 200 14911 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36 OPR/48.0.2657.0 (Edition developer)"
全ての履歴に対してこんな処理が走っているのかどうかまでは調べていません。
ブラウザシェア的にOperaを使っているユーザはかなり少数派だと思いますが、ブラウザの仕様としてこういったことがあるようです。