Как использовать https с PutMarkLogi c? - PullRequest
2 голосов
/ 18 июня 2020

Я использую DefaultMarkLogicDatabaseClientService 1.9.1.3-инкубатор в NiFi 1.11.4. MarkLogi c 10.0-4 работает под управлением AWS и имеет сервер приложений, на котором SSL настроен на уровне AWS.

Как мне настроить DefaultMarkLogicDatabaseClientService для использования HTTPS без необходимости использования службы контекста SSL?

Подробности:

Перед настройкой SSL DefaultMarkLogicDatabaseClientService мог подключиться. После настройки SSL я бы получил следующую ошибку:

PutMarkLogic [id = bbb8f3c3-7d83-3fb7-454f-9da7d64fa3f6] Не удалось правильно инициализировать процессор. Если все еще запланировано выполнение, NiFi попытается инициализировать и снова запустить процессор по истечении «Административного срока действия». Сбой из-за com.marklogi c .client.MarkLogicIOException: java .io.IOException: неожиданный конец потока в соединении {my-host: 8010, proxy = DIRECT hostAddress = my-host / my-IP: 8010 cipherSuite = none protocol = http / 1.1}: com.marklogi c .client.MarkLogicIOException: java .io.IOException: неожиданный конец потока при подключении {my-host: 8010, proxy = DIRECT hostAddress = my-ost / my-IP: 8010 cipherSuite = none protocol = http / 1.1}

Хорошо, похоже, не удалось использовать протокол HTTP для сервера, которому нужен HTTPS. Я вижу, что эту службу можно настроить для использования службы контекста SSL, но я не собираюсь выполнять аутентификацию клиента. (Для настройки требуется хранилище доверенных сертификатов или хранилище ключей.)

Если я заменю процессор PutMarkLogic, который использует DefaultMarkLogicDatabaseClientService, на процессор InvokeHTTP, я могу указать полный URL-адрес, включая «https: / / ", без необходимости использования контекстных служб SSL (но тогда я не получаю пакетную обработку, которую получаю с PutMarkLogic). Я хотел бы просто указать службе MarkLogi c использовать HTTPS.

1 Ответ

1 голос
/ 18 июня 2020

Создание SSLContextService с заполненным хранилищем доверенных сертификатов (которое содержит опубликованный c сертификат сервера MarkLogi c) и заполненное no хранилище ключей должно работать в этой ситуации.

...