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) によって署名された証明書を作成します。
  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 に設定します。例を次に示します。
      images.webapp.url=https://www.spectrum.com:8443/Spatial/images
      thumbnail.location=https://www.spectrum.com:8443/Spatial/Thumbnails
      
      repository.host=www.spectrum.com
      repository.port=8443
      repository.useSecureConnection=true
    2. 以下の要素の値で URL を変更して、HTTPS を使用するようにします。
      MappingConfiguration – <AccessBaseURL>
      WFSConfiguration, WMSConfiguration - <OnlineResource>
      WMTSConfiguration - <ServiceURL>
  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 リポジトリ リソースにアクセスするを参照)。