ServBay でリバースプロキシを設定する:社内・リモートサイトをローカルで開発・デバッグ
ServBay は macOS 向けのローカル Web 開発環境であり、PHP、Node.js、Python、Go、Java などの多様な言語環境や MySQL、PostgreSQL、MongoDB、Redis などのデータベースを統合しています。自身のローカルコードプロジェクトのホスティングに加え、ServBay には強力なリバースプロキシ機能が搭載されています。これにより、社内ネットワークや仮想マシン、コンテナ、さらにはリモートサーバ上の Web サイトを、簡単にローカル ServBay 環境にマッピングできます。結果として、開発・デバッグ・アクセスの流れが効率化されます。
本記事では、ServBay でリバースプロキシを設定し、社内やアクセス可能な外部のサイトをローカルにプロキシして一元管理し、効率的な開発・デバッグに役立てる方法を詳しく解説します。
概要
リバースプロキシサーバはクライアント(例えばブラウザ)からのリクエストを受け取り、それを複数のバックエンドサーバ(今回はプロキシしたい社内またはリモートサイト)に転送します。ServBay では、内蔵の Web サーバ(Caddy または Nginx)でこの機能を実現しています。
ローカル開発シーンでリバースプロキシを導入する主なメリットは以下の通りです:
- 統一されたアクセス入り口: 複雑な IP アドレスやポート番号を覚える必要なく、ServBay 上のドメイン名から社内/外部リソースへアクセス可能。
- SSL 設定が簡略化: ServBay の SSL 管理機能(ServBay CA や ACME など)で、バックエンドサイトが HTTP のみ対応であっても HTTPS アクセスを簡単に実現。
- ローカルでのデバッグ: 遠隔や社内サイトもローカルブラウザ環境で簡単にデバッグできる。
- ネットワーク制限の回避: ServBay を動作させている環境から社内や制限下のネットワークにも、ローカル経由で簡単にアクセスできる(ServBay のマシンが対象先に接続できることが前提)。
前提条件
リバースプロキシの設定を始める前に、次の条件を満たしていることをご確認ください:
- ServBay のインストールと起動: macOS に ServBay が正しくインストールされ、起動中であることを確認してください。
- 対象サイトへの接続性: プロキシ対象の社内またはリモート Web サイトが正常に動作しており、ServBay の macOS マシンから直接そのサイトの IP アドレス/ドメイン名・ポートへアクセスできること。例:
192.168.1.100:8080
が対象の場合、192.168.1.100
へ ping が通り、192.168.1.100:8080
へアクセスできる必要があります。
リバースプロキシサイトの追加手順
ServBay でリバースプロキシサイトを構成する具体的な手順は以下の通りです。
ステップ 1: ServBay 管理画面を開く
macOS の「アプリケーション」フォルダ内にある ServBay
アイコンを探し、ダブルクリックしてアプリケーションを起動します。
ステップ 2: サイト管理に進む
ServBay を起動するとメイン画面が表示されます。左側ナビゲーションメニューの サイト
をクリックしてください。ここでローカルホスト・リバースプロキシ両方のウェブサイトが管理できます。
ステップ 3: 新しいサイトを追加
「サイト管理」ページ下部にある +
ボタンをクリックしてください。クリックすると右側に新規サイト設定フォームが展開されます。
ステップ 4: サイトのリバースプロキシ設定を構成
新規サイトのフォームで、リバースプロキシ動作を定義づける主要項目を入力します:
- 名称(Name): 識別しやすい名前を付けてください。例:
Internal Backend Proxy
- ドメイン(Domain): ローカルでアクセスしたいドメイン名を記入します。例:
backend.servbay.demo
またはproxy.to.local
。ServBay はこの開発用ドメインを通常自動でシステムのhosts
ファイルに 127.0.0.1 または ::1 に割り当てます。 - プロトコル(Protocol): サイトがサポートするプロトコルを選択します。一般的に
HTTP/HTTPS
を選ぶと両方対応。SSL 設定は ServBay が自動処理します。 - SSL 証明書リクエスト手段(SSL Certificate Request Method):
- ServBay CA(ローカル開発に推奨): ServBay 内蔵 CA(証明機関)でドメインごとに SSL 証明書を自動発行・管理。便利ですが、証明警告を回避するためにはブラウザ/OS に ServBay CA ルート証明書を信頼させる必要があります。
- ACME(Let's Encrypt): 公開ドメインでインターネット経由でアクセスできる場合、Let's Encrypt から無料 SSL 証明書の取得が可能。
- Manual(手動): 既存の SSL 証明書ファイル(
.crt
,.key
,.ca-bundle
など)があれば手動指定可能。 ローカル開発・社内システムプロキシでは「ServBay CA」がおすすめです。
- サイトタイプ(Website Type):
リバースプロキシ(Reverse Proxy)
を選択してください。これがプロキシを実現するカギとなる設定です。 - プロキシターゲット(Proxy Target): プロキシする社内またはリモートの Web サイトの完全なアドレスを記入します。
IP:ポート
形式や、プロトコルを含んだ URL 形式が利用できます。- 例 1(IP:Port):
192.168.1.100:8080
- 例 2(プロトコル付き URL):
http://192.168.1.100:8080
- 例 3(社内ホスト名):
backend.internal:8443
(ServBay マシンが DNS 解決できる場合) - 例 4(リモート URL):
https://api.example.com
※入力アドレスが ServBay マシンから直接アクセス可能であることを要確認。
- 例 1(IP:Port):
ステップ 5: 設定を保存して完了
全ての情報を入力したら、フォーム下部の 追加(Add)
ボタンをクリック。ServBay が設定を保存し、Web サーバ(Caddy / Nginx)上にリバースプロキシルールを自動生成します。
保存に成功すると、新たなリバースプロキシサイトが一覧に追加されます。
ステップ 6: リバースプロキシサイトへアクセス
設定終了後、ステップ4で指定したドメイン(例:proxy.to.local
や backend.servbay.demo
)をブラウザで入力すれば、社内またはリモートのプロキシ先へ簡単にアクセスできます。
「ServBay CA + HTTPS」利用時は、最初のアクセス時に証明書警告が出る場合があります(ServBay CA ルート証明書を信頼していない場合)。
ステップ 7: サイトのクイック操作
ServBay では各サイトごとに便利なクイック操作ボタンが提供されています:
- IDE でサイトディレクトリを開く: リバースプロキシサイトの場合、ローカルディレクトリがないため通常は不要です。
- ブラウザでサイトを開く: ワンクリックでデフォルトブラウザからサイトを表示。
- サイトログの表示: 該当サイトの Caddy/Nginx のアクセス・エラーログを確認でき、デバッグ時に非常に有用です。
- サイトの一時停止/再開: プロキシ設定を一時的に無効化または有効化します。
- サイトの削除: このリバースプロキシ設定を ServBay から削除。
よくある質問と解決策(FAQ)
Q: サイトにアクセスできず、ブラウザにエラーが表示される
- ServBay の状態確認: ServBay アプリが稼働し、Web サーバ(Caddy/Nginx)が起動しているか確認してください。
- ドメイン解決の確認: 入力したドメインが正しいか、またそのドメインがローカル ServBay の IP アドレスに正しく解決されているかチェック(通常 hosts ファイルは自動修正されますが、手動で確認することも可能)。
- ServBay サイトログの確認: サイトリストの「ログを表示」ボタンで Web サーバのアクセスログやエラーログを確認。クライアントからのリクエストやターゲットへの接続&エラー情報が出るため、原因特定に有効です。
- ファイアウォール/セキュリティソフトの確認: macOS のファイアウォールやセキュリティソフトで、80/443 番ポートや ServBay のターゲット接続がブロックされていないか確認してください。
Q: ServBay マシンからプロキシ対象へはアクセスできるが、ドメイン経由でのアクセス時のみエラー
- プロキシターゲットの書式確認: 設定した「プロキシターゲット」アドレスが正しいか、ServBay マシンからそのアドレスへ直接アクセス可能か再度確認。端末で
curl [プロキシ先アドレス]
などを実行して通信テストするとよいです。 - ターゲットサーバの設定確認: バックエンドサーバが
Host
ヘッダをチェックしている場合があります。ServBay はデフォルトでクライアントのオリジナルのHost
ヘッダをバックエンドに転送します。もしターゲットサーバ側で特定のHost
しか許可されていない場合、アクセスできないことがあります(この場合、ServBay の上級設定で転送ヘッダの修正が可能。Caddyfile や Nginx 設定編集が必要な場合あり)。 - ターゲットサーバのファイアウォール: ServBay からプロキシ対象へ IP/ポート通信ができても、ターゲット側のファイアウォールが特定 IP 範囲(例:社内のみ)だけを許可している場合もあります。その場合 ServBay マシンの IP から許可されている必要があります。
Q: HTTPS アクセス時に証明書警告が出る
- ServBay CA 利用時: ServBay CA はプライベート証明機関なので、パブリックブラウザにはデフォルトで信頼されません。OS やブラウザに ServBay CA ルート証明書をインポートし、信頼済みに設定してください。証明書は設定からインストール可能です。
- ACME(Let's Encrypt)利用時: ドメインが正しく ServBay サーバの IP に割り当てられており、SSL 証明書の申請に失敗していないかログで確認してください。
Q: 特定のヘッダーや Cookie が必要なターゲットへのプロキシは?
基本設定のリバースプロキシでは、ほとんどのリクエスト情報は自動で転送されます。特殊ケース(カスタムリクエストヘッダ追加、レスポンスヘッダ修正、特定 Cookie 処理、パスリライティング等)が必要な場合は、ServBay の上級設定から Caddyfile や Nginx 設定ファイルを手動編集して、より柔軟なルールを追加できます(Caddy / Nginx の構文知識が必要です)。
まとめ
ServBay のリバースプロキシ機能を活用することで、社内・仮想マシン・コンテナ・リモートサーバ上の Web サイトを簡単にローカル開発環境に統合できます。統一されたアクセス経路の提供だけでなく、ローカルデバッグや SSL 設定も容易になります。この記事の手順通りに設定することで、すぐにリバースプロキシサイトの作成・利用が可能です。ServBay の強力なログ閲覧機能やトラブルシューティングテクニックと組み合わせて、安定したプロキシ運用と開発効率の向上を実現しましょう。