第11章 TLS 対応の Smart Router の設定

TLS 対応の Smart Router (KIE Server Router) を設定して、HTTPS トラフィックを許可することができます。

前提条件

手順

  • TLS サポートと HTTPS を有効にして Smart Router を起動するには、以下の例のように TLS キーストアプロパティーを使用します。

    java  -Dorg.kie.server.router.tls.keystore = <KEYSTORE_PATH>
          -Dorg.kie.server.router.tls.keystore.password = <KEYSTORE_PWD>
          -Dorg.kie.server.router.tls.keystore.keyalias = <KEYSTORE_ALIAS>
          -Dorg.kie.server.router.tls.port = <HTTPS_PORT>
          -jar rhpam-7.7-smart-router.jar

    org.kie.server.router.tls.port は、HTTPS ポートの設定に使用されるプロパティーです。デフォルトの HTTPS ポート値は 9443 です。

注記

kie-server に直接コンテナーを作成する必要があります。以下に例を示します。

$ curl -v -X POST -H 'Content-type: application/xml' -H 'X-KIE-Content-Type: xstream' -d @create-container.xml -u ${KIE_CRED} http://${KIE-SERVER-HOST}:${KIE-SERVER-PORT}/kie-server/services/rest/server/config/
$ cat create-container.xml
<script>
  <create-container>
    <container container-id="example:timer-test:1.1">
      <release-id>
        <group-id>example</group-id>
        <artifact-id>timer-test</artifact-id>
        <version>1.1</version>
      </release-id>
      <config-items>
        <itemName>RuntimeStrategy</itemName>
        <itemValue>PER_PROCESS_INSTANCE</itemValue>
        <itemType></itemType>
      </config-items>
    </container>
  </create-container>
</script>

smart-router コンソールにデプロイされたメッセージが表示されます。以下に例を示します。

INFO: Added http://localhost:8180/kie-server/services/rest/server as server location for container example:timer-test:1.1

コンテナーの一覧を表示するには、次のコマンドを入力します。

$ curl http://localhost:9000/mgmt/list

コンテナーの一覧が表示されます。

{
  "containerInfo": [{
    "alias": "timer-test",
    "containerId": "example:timer-test:1.1",
    "releaseId": "example:timer-test:1.1"
  }],
  "containers": [
    {"example:timer-test:1.1": ["http://localhost:8180/kie-server/services/rest/server"]},
    {"timer-test": ["http://localhost:8180/kie-server/services/rest/server"]}
  ],
  "servers": [
    {"kieserver2": []},
    {"kieserver1": ["http://localhost:8180/kie-server/services/rest/server"]}
  ]
}

Smart Router の URL を使用してプロセスを初期化するには以下のコマンドを入力します。

$ curl -s -X POST -H 'Content-type: application/json' -H 'X-KIE-Content-Type: json' -d '{"timerDuration":"9s"}' -u kieserver:kieserver1! http://localhost:9000/containers/example:timer-test:1.1/processes/timer-test.TimerProcess/instances