#.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. Редактирование файла хоста сделало свое дело. Большое спасибо!