RavenDB — Исключение CertificateNameMismatchException в защищенном режиме

#.net #ravendb

#.net #ravendb

Вопрос:

У меня настроен и работает сервер RavenDB в защищенном режиме. Сертификат сервера является самозаверяющим и был добавлен после завершения первоначальной установки. файл settings.json выглядит следующим образом.

Я могу получить доступ к server management studio в браузере (Chrome) на 127.0.0.1: 8080. После этого я выдал сертификат клиента и зарегистрировал его в Windows. Затем в простом консольном приложении .NET Framework я пытаюсь сохранить некоторые данные в базе данных.

Я использую этот пример кода для создания объекта DocumentStorage. Хранилище инициализируется без каких-либо исключений, но когда я вызываю метод SaveChanges сеанса, я получаю CertificateNameMismatchException :

Имя хоста URL-адреса сервера должно соответствовать одному из свойств CN или SAN сертификата сервера: CN=ravenDb.test.com , DNS Name=ravenDb.test.com

Что я делаю не так?
Это проблема с сертификатом сервера и / или клиента? или сам сервер неправильно настроен?

Ответ №1:

При работе с сертификатами вы должны использовать свое доменное имя для прямого доступа к серверу, а не IP-адрес.

Установите для свойства конфигурации ‘PublicServerUrl’ значение https://ravenDb.test.com:8080 и ‘PublicServerUrl.Tcp’ в tcp://RavenDB.test.com:38888 и не забудьте установить записи DNS (или отредактировать локальный файл hosts) для ravenDb.test.com чтобы указать на 127.0.0.1.

Комментарии:

1. Редактирование файла хоста сделало свое дело. Большое спасибо!