Ошибка SSL на сервере аналитики данных WSO2

Я запускаю wso2 Data Analytics Server, у меня была ошибка, как в строке ниже в файле журнала DAS

javax.net.ssl.SSLException: hostname in certificate didn't match: <192.168.3.27> != localhost

когда я вошел в свою созданную панель инструментов, я не мог видеть никаких данных, и панель была пуста, пока я не сделал то, что эта ссылка говорит, и проблема больше не возникала на панели управления DAS НО, когда я хочу подключить диспетчер API к DAS, у меня есть ошибка admin-dashboard в меню Configure Analytics. Мне не удалось сохранить конфигурацию, и на API Manager у меня возникла такая ошибка:

Ошибка при развертывании артефактов (Причина: org.apache.axis2.AxisFault: соединение было отключено: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath. SunCertPathBuilderException: невозможно найти действительный путь сертификации к запрошенной цели.

У меня нет ошибок на DAS приборной панели, но я не могу подключить AM к DAS. Любая идея?


person Reza Ameri    schedule 23.07.2016    source источник
comment
Эта ошибка возникает из-за того, что у вас нет сертификата, подписанного ЦС. Что вам нужно сделать, чтобы избавиться от этого, так это добавить свой сертификат в файлы client-truststore.jks и wso2carbon.jks сервера wso2carbon. А также проверьте хранилище ключей Java по умолчанию, есть ли в нем сертификат, который вы используете, импортированный. И могу ли я это узнать, используете ли вы LB или нет? Потому что вы также должны добавить этот сертификат в LB.   -  person Nipuna Marcus    schedule 23.07.2016


Ответы (2)


Ваш текущий сертификат, хранящийся в wso2carbon.jks, указывает на localhost, но если вы развернули свое решение на разных серверах, вам необходимо создать .jks для каждого сервера с CN = IP-адресом сервера или полным именем хоста сервера. В client-truststore.jks вам нужно хранить сертификаты каждого сервера, к которому вы хотите подключиться.

person Jorge Infante Osorio    schedule 23.07.2016
comment
я правильно понял? Мне нужно добавить свой IP в wso2carbon.jks следующим образом: keytool -genkeypair -alias 10.10.60.100-keyalg RSA -keystore wso2carbon.jks и что мне делать с client-truststore.jks ?? - person Reza Ameri; 24.07.2016
comment
Когда вы запускаете эту команду в командной строке, keytool попросит вас ввести некоторую информацию. Первый - это CN, и он должен быть IP-адресом сервера или полным именем сервера. Ошибка показывает, что вы используете 192.168.3.27 в качестве IP-адреса сервера. В client-truststore.jks вам нужно сохранить сертификаты других серверов. - person Jorge Infante Osorio; 25.07.2016
comment
К моему DAS подключено около 15 виртуальных машин. Все они публикуют данные в DAS правильно и без каких-либо проблем, я сначала не добавлял их CA в DAS client-truststore.jks, и они работают, я должен добавить их из-за моего нового CN? @ Хорхе-Инфанте-Осорио - person Reza Ameri; 26.07.2016

Вы получаете ошибку проверки имени хоста, потому что имя домена в URL-адресе и имя CN в общедоступных сертификатах не совпадают. Правильное решение состоит в том, чтобы имя CN совпадало с доменным именем URL-адреса.

если вы хотите пропустить проверку имени хоста, измените axis2.xml (https - transportSender), чтобы отключить проверку имени хоста, как показано ниже.

<parameter name="HostnameVerifier">AllowAll</parameter>
person Jenananthan    schedule 26.07.2016