Google Cloud Datafusion, как принимать самозаверяющие сертификаты - PullRequest
1 голос
/ 01 апреля 2020

Мы только начинаем использовать Google Cloud Fusion для объединения ETL.

У нас есть сценарий использования для подключения к серверу (самоподписанный) и получения некоторой информации с помощью http-плагина в продукте объединения данных.

В моем конвейере я отключаю SSL проверка для принятия любых сертификатов, но получение ошибки

javax.net.ssl.SSLPeerUnverifiedException: Certificate for <on000120.aeo.ae.com> doesn't match any of the subject alternative names: []

Текст справки для поля также предлагает удалить его. Смотрите изображение.

enter image description here

Может ли кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 03 апреля 2020

Я следовал инструкциям на https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/, чтобы сгенерировать файлы ключей и crt, поэтому у меня был файл v3.ext (который включает subjectAltName), и я использовал его для генерации файла server.crt. Когда я запустил свой сервер с этими файлами, я смог развернуть и запустить конвейер, используя источник HTTP с этого локального HTTPS-сервера. Как вы сгенерировали свой ключ и ключ? Не могли бы вы описать плагины, которые вы используете?

1 голос
/ 07 апреля 2020

Я предполагаю, что проблема, о которой вы сообщили, не связана со средой выполнения Data Fusion, но, возможно, может быть связана с конфигурацией SSL / TLS целевого веб-сервера HTTPS. В большинстве случаев эта проблема возникает, когда общее имя или SAN (альтернативное имя субъекта) вашего сертификата SSL / TLS не соответствует домену или адресу, который вы указали при вызове HTTP, следовательно, эта страница не указана в списке SAN, и я могу предположить, что вы не добавили туда ни одного доменного имени.

Насколько я знаю, Data Fusion http-plugin , основанный на реализации Java HTTP-клиента, поддерживает HostnameVerifier class , который используется для имени хоста URL-адреса и идентификации имени хоста сервера при установлении рукопожатия между сторонами. может взглянуть на исходный код и найти унаследованный метод getDefaultHostnameVerifier(). Таким образом, это может привести к ошибке во время намерений http-клиента запустить канал соединения SSL / TLS.

Несмотря на то, что вы отключили проверку сертификата хранилища ключей доверия в настройках плагина, проблема не исчезнет, ​​поскольку проверка имени хоста по-прежнему выполняется. терпит неудачу.

...