ArcGIS Mission Server でのリバース プロキシーの構成
リバース プロキシー サーバーとは、境界ネットワーク ([DMZ] (DeMilitarized Zone) またはスクリーン サブネットとも呼ばれる) に配置され、インターネットからのリクエストを処理して内部ネットワーク内のコンピューターに転送するコンピューターです。 リバース プロキシー サーバーは、リクエストを転送することで、組織サイトのファイアウォールの内側にあるコンピューターのアイデンティティーをマスクするため、インターネット ユーザーによる直接的な攻撃から内部のコンピューターを保護できます。 さらに進んでユーザーの内部ネットワークを外部ユーザーから保護するために、追加のセキュリティー機能をリバース プロキシー サーバーに実装できます。
リバース プロキシー サーバーが状態チェック機能に対応している場合は、ArcGIS Mission Server の状態チェック エンドポイントを使用して、サイトがリクエストを受け取れるかどうかを確認できます。 これは、サイトでソフトウェアまたはハードウェアの障害があるかどうかを迅速に確認する場合に便利です。 これを実行するには、https://machine.domain.com:20443/arcgis/rest/info/healthcheck などへ移動します。
注意:
10.9 Enterprise リリース以降、管理者は、ArcGIS Mission Server で Apache HTTPD をよりシームレスに構成できるようになりました。 管理者は、管理 API である「プロキシー構成の生成」エンドポイント経由で Apache プロキシー構成ファイルを生成することができます。
プロキシー構成の生成
管理者は、ArcGIS Mission Server の管理 API を通じて Apache HTTPD を構成できるようになりました。
管理者権限を持つユーザーとして、ArcGIS Mission Server Administrator Directory (https://machine.domain.com:20443/arcgis/admin/proxyGen) にサイン インします。
リバース プロキシーの Top Context の値を入力します。たとえば、
topcontextを入力すると、プロキシー ディレクティブがリクエストをhttps://my.reverse.proxy/topcontextにルーティングします。 このコンテキストは、リクエストのプロトコルとコンテキストに基づいてプロキシー ディレクティブとルート リクエストを適切に書き込むために使用されます。Set Context URLs チェックボックスをオンにし、リクエストの送信時に、適切な ArcGIS Mission Server
WebContextURLおよびWebSocketContextURLのシステム プロパティが自動的に設定されるようにします。Proxy FQDN で、リバース プロキシー サーバーの FQDN (完全修飾ドメイン名) を入力します。たとえば、
my.reverse.proxyを入力すると、プロキシー ディレクティブがリクエストをhttps://my.reverse.proxy/topcontextにルーティングします。形式 で出力を選択します。
デフォルトの出力形式は
htmlですが、構成ファイルをjsonまたはfileとして出力するように選択できます。送信 をクリックします。
これで、Apache HTTPD 構成ファイルの生成と適切な
ContextURLシステム プロパティの設定が正常に完了しました。 次に、このファイルに表示される情報を読み取ってから、必要に応じて Apache HTTPD プロキシーに適用する必要があります。 この方法については、それぞれの配布のドキュメントをご参照ください。
リバース プロキシー サーバーに ArcGIS Mission Server を手動で追加
組織のリバース プロキシー サーバーは、対応する URL をプロキシー ディレクティブに追加して ArcGIS Mission Server と直接通信するように構成できます。
Apache HTTP サーバーをリバース プロキシーとして構成するには、Apache モジュールである mod_ssl、mod_proxy、mod_proxy_http、mod_proxy_wstunnel を有効化します。 Apache モジュールを有効化するには、Apache のドキュメントを参照して、次のようにしてプラットフォーム固有の構成場所を確認します:
LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
リバース プロキシーとしての Apache HTTP サーバーの構成を完了するには、ProxyPass ディレクティブと ProxyPassMatch ディレクティブの組み合わせを設定し、正しい SSL 設定値を設定する必要があります。 ArcGIS Mission Server では HTTPS が使用されます。このため、ArcGIS Mission Server にアップロードされたのと同じ証明書を使用するように Apache HTTP サーバーの SSL を構成する必要もあります:
##
## SSL Virtual Host Context
##
<VirtualHost _default_:443>
## Enable Proxy for SSL
SSLProxyEngine on
## If using a self-signed certificate on ArcGIS Mission Server, disable strict
## certificate verification
SSLProxyVerify none
## Proxy ArcGIS Mission Server URLs to the proper backend ports
## The order of these directives are important.
ProxyPass /topcontext/missions/ wss://machine.domain.com:20301/arcgis/missions/ disablereuse=On
ProxyPass /topcontext/ https://machine.domain.com:20443/arcgis/
ProxyPassReverse /topcontext/ https://machine.domain.com:20443/arcgis/
## Use the same SSL Certificate and Key as ArcGIS Mission Server
## (adjust path to your specific certificate locations)
SSLCertificateFile /path/to/arcgis/mission/<server_cert>.pem
SSLCertificateKeyFile /path/to/arcgis/mission/<private_key>.pem
## End of ArcGIS Mission Server reverse proxy config https://machine.domain.com:20443/arcgis/
ArcGIS Mission Server がクライアントへの WebSocket 接続を適切に確立できるようにするには、ArcGIS Mission Server WebContextURL および WebSocketContextURL のシステム プロパティを設定する必要があります。 これにより、ArcGIS Mission Server はすべてのリソースで正しい URL を構築して、エンド ユーザーに送信することができます。 以下を実行して WebContextURL と WebSocketContextURL のプロパティを変更します:
管理者権限を持つユーザーとして、ArcGIS Mission Server Administrator Directory (https://machine.domain.com:20443/arcgis/admin) にサイン インします。
system > properties > update の順にクリックします。
Properties テキスト ボックスに次の JSON を挿入します。ArcGIS Mission Server の URL は、ユーザーが組織のファイアウォールの外側から参照できる URL に置換します。
{ "WebContextURL": "https://machine.domain.com/mygis", "WebSocketContextURL":"wss://machine.domain.com/mygis" }更新 をクリックします。