GUIだけで多数の設定が行える無料&オープンソースのリバースプロキシ「Zoraxy」レビュー
「Zoraxy」は外部からのアクセスを設定に応じてさまざまなサーバーに振り分けるリバースプロキシです。オープンソースで無料なのに加え、転送など各種の設定をブラウザからアクセス可能なコントロールパネルで完結できるとのことなので、実際に使い勝手を確かめてみました。
Reverse Proxy Server | Zoraxy
https://zoraxy.arozos.com/
Windows向けの実行ファイルは2種類存在しています。Windows 7を使用する場合は「zoraxy_windows_amd64_NT6-1.exe」を使用し、それ以外の場合は「zoraxy_windows_amd64.exe」を使用すれば良いとのこと。今回はWindows 11を搭載したPCを使用するので、「zoraxy_windows_amd64.exe」をダウンロードします。
ダウンロードした「zoraxy_windows_amd64.exe」をダブルクリックして実行。
「実行」をクリックします。
「許可」をクリック。
無事Zoraxyが起動しました。コントロールパネルにアクセスするにはブラウザで「http://localhost:8000」を開けば良いとのこと。なお、Zoraxyを起動する際に8000番ポートが他のアプリに使用されていると起動に失敗するので先に8000番ポートを空けておくとスムーズに進めます。
最初に管理アカウントを作成します。IDとパスワードを入力し、「Confirm」をクリック。
ログイン画面になるので先ほど入力したIDとパスワードを入力し、「Login」をクリックします。
ダッシュボードが開きました。Zoraxyが処理したトラフィックなどの情報が確認できます。
スクロールすると待ち受けポートの情報が記載されています。初期状態ではhttp通信のデフォルトポートである80番が設定されていました。
Zoraxyの待ち受けポートにアクセスすると、「Zoraxyの静的ウェブサーバーへようこそ!」と表示されます。
ダッシュボードの数字が増加し、トラフィックが通過したことが確認できました。
Zoraxyの管理メニューの「Default Site」を見ると「内部静的ウェブサーバー」が設定されています。そのため、先ほど待ち受けポートにアクセスした際には内部静的ウェブサーバーへルーティングされたというわけ。
Zoraxyの静的ウェブサーバーについては「Static Web Server」メニューで管理できます。「静的ウェブサーバーを使用するかどうか」のほか、ドキュメントルートやポート番号などが設定できるようになっていました。
続いてリバースプロキシとしての設定をしてみます。今回は「93.184.216.34」にZoraxyを設置しており、「example.com」というドメインでアクセスした際には静的ウェブサーバー、「arozos.example.com」というドメインでアクセスした際には別のサーバーへとトラフィックを流すという想定です。まず、DNSを下図のように設定します。
今回の場合、「example.com」から静的ウェブサーバーへのルーティングは「Default Site」で完了しているので、「arozos.example.com」の方だけ設定すればOK。管理画面で「Create Proxy Rules」タブに移動し、ルーティング対象のドメインとルーティング先を入力し、「Create Endpoint」をクリック。
これでルーティングの設定は完了です。「HTTP Proxy」のタブを見ると設定済みのProxy一覧が確認可能。
TLS/SSLを使用してアクセスしたい場合は、「TLS/SSL Certificates」のタブで設定を行えます。すでに証明書を所有している場合は証明書をアップロードするだけでOK。
証明書を所有していない場合にはLet's Encryptを使用した証明書発行機能が使用できます。「TLS/SSL Certificates」のページを下へスクロールし、「Open ACME Tool」をクリック。
メールアドレスを入力してから「Enable Certificate Auto Renew」をクリックします。これで証明書が自動で更新されるようになりました。
証明書を発行したいドメインを入力し、「Get Certificate」をクリック。複数のサブドメインの証明書をまとめて取得する際には「,」で区切って入力すればOKとのこと。
証明書の発行には数分程度時間がかかります。証明書を発行できたらダッシュボードのトップページへと戻り、待ち受けポート番号の下にある「Use TLS to serve proxy request」をクリックしてTLSを有効化します。待ち受けポート番号を「443」に変更するかどうか聞かれるのでチェックマークをクリック。
待ち受けポートが443になり、httpsを使用してアクセスできるようになりました。「Enable HTTP server on port 80」を有効化することで引き続きHTTPでのアクセスも行う事ができ、「Force redirect HTTP request to HTTPS」を有効化することでHTTPでアクセスされた際にHTTPSにリダイレクトすることが可能です。
「Redirection Rules」タブではリダイレクトの設定ができます。
「Access Control」タブではIPアドレスや国に基づいたアクセス制御を設定可能。
Proxy設定を行っている宛先に対しては自動で状態チェックが行われており、「Uptime Monitor」タブで過去の記録を確認できます。
「Network Tools」タブではLANのデバイスを検知するIPスキャナーや「Traceroute」「Ping」などよく使用されるコマンドを実行できるようになっていました。
「Statistical Analysis」では日付を指定してトラフィックの統計を閲覧可能です。
「Utilities」タブではパスワードの変更やパスワードをリセットするメールを送信するための設定などアカウントやシステム関連の設定を行えます。
このほか、LinuxでZoraxyを動作させている場合はブラウザ上からLAN内のサーバーにSSHで接続できる「Web SSH」機能が備わっているとのことです。