Выдать сертификат с cloudflare и esdb — DeadlineExceeded

#.net-core #grpc #cloudflare #event-sourcing #eventstoredb

Вопрос:

Я новый разработчик для eventstore, я пытаюсь установить сертификат в eventstore. С пользовательским интерфейсом администратора это работает, но когда я запрашиваю свой код, он не работает

я использую nginx для передачи_proxy в eventstore

У меня есть eventstore.conf

введите описание изображения здесь

конфигурация nginx

введите описание изображения здесь

и код потока приложений в виде:

введите описание изображения здесь

я настраиваю хранилище событий с помощью кода

 services.AddEventStoreClient("esdb://admin:changeit@esdb.megiservices.com:2113?tls=true");
 

или

 services.AddEventStoreClient("esdb://admin:changeit@esdb.megiservices.com?tls=true");
 

или

 services.AddEventStoreClient("esdb://admin:changeit@96.9.211.102?tls=true");
 

в cloudflare я добавляю dns-запись

введите описание изображения здесь

это работает, когда я прошу https://esdb.megiservices.com/

но я получаю ошибку при вызове eventstore с помощью кода. Сообщение:

Статус(Код состояния=»DeadlineExceeded», Подробности=»»)

Что я могу сделать, чтобы устранить эту проблему?

Я использую:

Магазин событий.Клиент.Grpc.Потоки : 20.10.0 Grpc.Net.Клиент: 2.38.0

Спасибо за вашу поддержку

Ответ №1:

Я не думаю, что API gRPC EventStoreDB был протестирован с использованием обратного прокси-сервера.

Как минимум, вам нужно включить прокси-сервер http2 в Nginx, и это может решить проблему, хотя и не гарантировано.

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

1. Спасибо за вашу поддержку, я попытался включить http2, но не получилось.

2. Честно говоря, я не знаю. gRPC-это потоковый протокол, не многие прокси-серверы должным образом поддерживают его.