
Claude in Chrome と FoxyProxy で IP 制限のかかった環境を検証した話
はじめに
特定の IP アドレスからしかアクセスできない管理画面や検証環境を、業務で扱う機会がある方は多いと思います。自分の端末からは開けないため、まず社内のプロキシ経由でアクセス経路を確保する必要があります。
しかし、経路を確保できてもそこで問題が解決するとは限りません。API レベルの疎通は取れても、ブラウザでの見た目の確認においては別の壁にぶつかることがあるからです。
結局、細かい表示崩れの確認は、その都度誰かに目視で見てもらうしかなくなります。この記事では、この悩みを Claude in Chrome と FoxyProxy の組み合わせでどう解決したか、実際に試した手順込みで紹介します。
対象読者
- IP 制限がかかった管理画面や検証環境を扱う機会がある方
- 表示崩れの確認を、その都度誰かにお願いしている方
- Claude in Chrome を使っているが、ヘッドレスブラウザやプロキシとの相性に悩んでいる方
- ブラウザの自動操作とプロキシ経由のアクセスを組み合わせたい方
参考
- ブラウザを自然言語で操作する Claude in Chrome を使ってみた
- Get started with Claude in Chrome
- Claude in Chrome troubleshooting
背景と課題
検証環境に IP アドレスの許可リストが設定されていることがあります。自分の端末や CI から素朴にアクセスしようとすると、403 のような明示的なエラーが返ることもあれば、応答がないままタイムアウトすることもあります。
こうした環境において、プロキシサーバーを経由し許可リストを通過するルールとしているケースがあります。 プロキシ経由にすると、API や curl レベルの疎通は問題なく取れるようになります。
しかし、ブラウザでの見た目の確認はここで終わりません。多くの Web サービスは、ボットからのアクセスを防ぐための判定の仕組みを持っています。 この判定は、単に IP アドレスだけでなく、アクセス元がヘッドレスブラウザかどうかも見ています。プロキシ経由で許可リストを通過できても、ヘッドレスブラウザによる自動キャプチャは、この判定によって別の壁にぶつかることがあります。
こういったケースにおいても、動作確認を自動化したいと考えました。
検証
次のような検証環境を用意しました。
- 許可リストで守られたページ役のサーバー 1 台
- 特定の IP アドレスからの通信だけを許可
- User-Agent に HeadlessChrome を含むリクエストを 403 で拒否する、簡易的なボット判定もあわせて設定
- プロキシ役のサーバー 1 台
- 作業端末からこのサーバーへ SSH の動的ポートフォワーディングでトンネルを張ることで、自前の SOCKS5 プロキシとして使う
まず、作業端末から保護対象のページへ直接アクセスしたところ、curl はタイムアウトで終了しました。ブラウザでは ERR_ADDRESS_UNREACHABLE という表示になり、いずれも到達できませんでした。

次に、プロキシ役のサーバーへ SSH のトンネルを張り、そのトンネル経由でアクセスしたところ、curl では問題なく到達できました。IP アドレスの壁は、この時点で越えられています。
しかし、同じ経路をヘッドレスブラウザ (Playwright) で通そうとしたところ、拒否されました。
User-Agent: ...HeadlessChrome/147.0.7727.15...
→ 403 Forbidden
User-Agent に HeadlessChrome という文字列が含まれることを理由に、ページ側の判定で弾かれています。IP アドレスの許可を通過しても、ヘッドレスブラウザ自体が別の壁にぶつかることを、実際のヘッドレスブラウザで確認しました。
最後に、Claude in Chrome を接続しているブラウザのプロキシ設定を、このトンネルに切り替えました。切り替えた状態で Claude in Chrome にページを開かせたところ、自然言語の指示だけでページの内容を読み取れることを確認できました。

Claude in Chrome が操作しているのは、ヘッドレスの自動化ブラウザではなく普段使いの実ブラウザです。そのため User-Agent に HeadlessChrome は含まれず、この判定にはひっかかりません。
考察
この方法にも限界があります。ログインにパスワードの入力が必要なページでは、Claude が代わりに入力することはできません。あらかじめ人がログインし、セッションを残しておく必要があります。また、画面幅を変えたときの崩れの確認は、拡張機能側の制約によって自動化できない場合があり、こうした場面は引き続き人の目視に頼るしかないと考えています。
IP 制限がかかった環境は、多くの場合そのまま機密性の高い環境でもあります。Claude in Chrome は画面の内容を認識して動作するため、表示されている情報がそのまま渡ることになります。認証情報の入力はさせない、確認のためだけに使う範囲にとどめる、といった配慮は欠かせないでしょう。
まとめ
IP 制限がかかった検証環境では、Claude in Chrome と FoxyProxy の組み合わせを試す価値があります。一方で、パスワード入力や画面幅の変更など、Claude だけでは完結しない作業も残ります。また、機密性の高い画面を扱う以上、確認作業の範囲にとどめるといった配慮も必要です。この記事が、同じ悩みを抱える方の参考になれば幸いです。









