はじめに
開発やネットワーク設定の都合で、自分のグローバルIPアドレスを確認したい場面はよくあると思います。
先日、いつものようにIPアドレス確認サイト(確認くんなど)で自分のIPを調べたところ、プロバイダのIPではなく「*.v4.fetch.tunnel.googlezip.net」という見慣れないホスト名が表示されており、驚いたことがありました。
その後、気になったので調べてみるとGoogle Chromeの標準機能が原因であることが分かりました。
備忘録として、この現象の原因と対策をまとめます。
原因:Chromeの「プライベート プリフェッチ プロキシ」機能
この現象の原因は、Google Chromeに搭載されている
「プライベート プリフェッチ プロキシ(Private Prefetch Proxy)」 という機能によるものです。
これは、ページの読み込み速度を向上(Largest Contentful Paintを平均30%高速化)させつつ、ユーザーのプライバシーを保護するための仕組みです。
この機能が働くと、アクセス先のサーバーにユーザーのIPアドレスを把握されないようにするため、Googleのサーバー(CONNECTプロキシ)を経由してページの先読み(プリフェッチ)が行われます。
その結果、IPアドレス確認サイト側には、自分自身のIPではなくGoogleのプロキシサーバーのIPやホスト名(v4.fetch.tunnel.googlezip.net)がアクセス元として認識されてしまっていた、というわけです。
対策・解決方法
普段のブラウジングにおいては、高速化とプライバシー保護の恩恵を受けられる便利な機能です。
しかし、IPアドレス制限のあるサーバーへのアクセスや開発・テスト時など、「自分の本当のIPアドレス」でアクセスしたい場合には不都合が生じます。
以下に2つの対処法を紹介します。
1. 一時的な対処法(強制リロード)
一時的に自分のIPでアクセスしたい場合は、ブラウザの
強制リロード(スーパーリロード) を行うことで、通常のIPアドレスでの通信に戻ることが多いようです。
-
Windows:
Ctrl + F5またはCtrl + Shift + R -
Mac:
Command + Shift + R
2. 恒久的な対処法(Chromeの設定を変更)
開発環境などでこの機能が頻繁に邪魔になる場合は、Chromeの設定から無効化することができます。
- Chromeの右上にある「︙(縦三点リーダー)」から 「設定」 を開く
- 左側のメニューから 「パフォーマンス」 を選択する
- ページ内にある 「ページをプリロードする」 のトグルスイッチを オフ にする
これで、Google経由でのキャッシュアクセスが無効になり、常に自分のプロバイダのIPアドレスが表示されるようになります。
おわりに
突然見知らぬIPが表示されて驚きましたが、ユーザー体験を向上させるためのGoogleの工夫の一つでした。
ただ、開発者としてはハマりやすいポイントでもあるので、同じように「IPが違う!」と焦った方の参考になれば幸いです。