HTTPS 通信の設定

デフォルトで Spectrum™ Technology Platform サーバーは、Enterprise Designer との通信、Management Console や Metadata Insights などのブラウザ アプリケーションとの通信、Web サービス リクエストや API 呼び出しの処理、リモート サーバーとの通信に HTTP を利用します。これらのネットワーク通信をセキュリティ保護する場合は、HTTPS を使用するように Spectrum™ Technology Platform を設定できます。

注: Spectrum™ Technology Platform では、通信の暗号化に TLS 1.2 を使用します。Spectrum™ Technology Platform の Web サービスや API にアクセスするアプリケーションは、HTTPS を介して接続するために TLS 1.2 をサポートする必要があります。

以下では、HTTPS 通信を Spectrum™ Technology Platform の単一サーバー インストール環境で有効にする手順を説明します。HTTPS を使用する必要があるが、Spectrum™ Technology Platform をクラスタで実行している場合は、この手順を行わないでください。そのようなケースでは、クライアントとの通信に HTTPS を使用するようにロード バランサーを設定します。ロード バランサーと Spectrum™ Technology Platform ノードとの通信、およびノード間の通信は、Spectrum™ Technology Platform クラスタリングが HTTPS をサポートしないことから、暗号化されます。ロード バランサーとクラスタ内の Spectrum™ Technology Platform サーバーは、セキュアな環境を提供するため、ファイアウォールの反対側にある必要があります。

HTTPS 通信を Spectrum™ Technology Platform の単一サーバー インストール環境で設定するには:

  1. Spectrum™ Technology Platform サーバーを停止します。
    • Windows 上のサーバーを停止するには、Windows システム トレイの Spectrum™ Technology Platform アイコンを右クリックして、[Spectrum™ を停止する] を選択します。または、 Windows の [コントロール パネル] の [サービス] を使用して、Pitney Bowes Spectrum™ Technology Platform サービスを停止できます。
    • Unix または Linux 上のサーバーを停止するには、SpectrumLocation/server/bin/setup スクリプトをソースとして、SpectrumLocation/server/bin/server.stop スクリプトを実行します。
  2. 信頼できる認証局 (CA) によって署名された証明書を作成します。
    注: 証明書は、Spectrum™ Technology Platform で使用されている Java のバージョンに対応する暗号化と長さの要件を満たしている必要があります。Java のバージョンを調べるには、Management Console を開いて、[システム] > [バージョン] に移動します。詳細については、java.com/en/jre-jdk-cryptoroadmap.html を参照してください。
  3. この証明書を JSSE キーストアに読み込みます。詳細については、www.eclipse.org/jetty/documentation/current/configuring-ssl.html#loading-keys-and-certificates を参照してください。
  4. spectrum-override-container-ssl.xml という XML ファイルを作成し、次の内容を含めます。
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:util="http://www.springframework.org/schema/util"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/util
           http://www.springframework.org/schema/util/spring-util-3.0.xsd">
        
        <bean id="defaultWebServerConnector" class="org.eclipse.jetty.server.ServerConnector">
            <constructor-arg ref="webServer"/>
            <constructor-arg>
                <bean class="org.eclipse.jetty.util.ssl.SslContextFactory">
                    <property name="keyStorePath" value="/SpectrumKeystore"/>
                    <property name="keyManagerPassword" value="password"/>
                    <property name="keyStorePassword" value="password"/>
                </bean>
            </constructor-arg>
            <property name="host" value="${spectrum.bind.address}"/>
            <property name="port" value="${spectrum.http.port}"/>
            <property name="idleTimeout" value="-1"/>
        </bean>
    </beans>
  5. 必要に応じて、使用している環境を反映するように以下の行を変更します。
    <property name="keyStorePath" value="/SpectrumKeystore"/> value 属性の値を Java キーストアへのフル パスに変更します。
    <property name="keyManagerpassword" value="password"/> value 属性の値をキーストアに対するパスワードに変更します。
    <property name="keyStorePassword" value="password"/> value 属性の値をキーストア内のキーに対するパスワードに変更します。
  6. spectrum-override-container-ssl.xml ファイルを SpectrumLocation/server/app/conf/spring に保存します。
  7. 適当なテキスト エディタでファイル spectrum-container.properties を開きます。ファイルの場所は SpectrumLocation/server/app/conf です。コメントを解除して、以下のプロパティを設定します。

    spectrum.http.port=port
    spectrum.runtime.port=port
    spectrum.runtime.hostname=dnsname

    port はクライアントとの通信に使用するネットワーク ポート (例: 8443) で、dnsnameSpectrum™ Technology Platform サーバーのホスト名です。指定するポートは、spectrum.http.portspectrum.runtime.port の両方に対して同じでなければなりません。

  8. Location Intelligence モジュールと Spectrum Spatial サービスに対して HTTPS 通信を設定する場合は、追加設定を実行してから Spectrum™ Technology Platform サーバーを再起動する必要があります。
    1. java.properties ファイル (SpectrumLocation\server\modules\spatial) を変更して、すべてのホスト名とポートが Spectrum™ Technology Platform サーバーで使用されているものとまったく同じになるようにします。ホスト名はサーバーの DNS 名と証明書の CN に一致する必要があります。プロパティ repository.useSecureConnectiontrue に設定します。例を次に示します。
      repository.host=www.spectrum.com
      repository.port=8443
      repository.useSecureConnection=true
    2. Spatial Manager で、次のサービス設定の URL を、HTTPS を使用するように変更します。
      • Mapping (SOAP 経由でマッピング サービスにアクセスし、RenderMap 要求の ReturnImage パラメータが False の場合にのみ必要)
      • WFS
      • WMS
      • WMTS

      手順については、『Spectrum Spatial ガイド』の「ユーティリティ」セクションにある「Spatial Manager ガイド」を参照してください。

  9. Spectrum™ Technology Platform サーバーを開始します。
    • Windows 上のサーバーを開始するには、Windows システム トレイの Spectrum™ Technology Platform アイコンを右クリックして、[Spectrum™ を起動する] を選択します。または、 Windows の [コントロール パネル] の [サービス] を使用して、Pitney Bowes Spectrum™ Technology Platform サービスを開始できます。
    • Unix または Linux 上のサーバーを開始するには、SpectrumLocation/server/bin/server.start スクリプトを実行します。
  10. Location Intelligence モジュールや Spectrum Spatial サービス向けに HTTPS 通信を設定する場合は、変更したファイルを WebDAV を使ってリポジトリにアップロードします (手順についてはWebFolders を使用して Spectrum Spatial リポジトリ リソースにアクセスする を参照)。