Не удается подключиться к серверу GRPC, который развернут на AWS ECS - PullRequest
0 голосов
/ 24 июня 2019

У меня GRPC-сервер, написанный на C #.

internal class Program
    {
        internal static void Main(string[] args)
        {
            using (var waitHandle = new AutoResetEvent(false))
            {
                void OnConsoleOnCancelKeyPress(object o, ConsoleCancelEventArgs e)
                {
                    e.Cancel = true;

                    // ReSharper disable once AccessToDisposedClosure
                    waitHandle.Set();
                }

                Console.CancelKeyPress += OnConsoleOnCancelKeyPress;

                var config = new AppConfig(new ConfigurationBuilder()
                    .AddJsonFile("appsettings.json", false)
                    .Build());

                var containerBuilder = new ContainerBuilder();
                containerBuilder.RegisterModule(new Module());
                containerBuilder.RegisterModule(new Data.Module(config.Region, config.TablePrefix));

                using (var container = containerBuilder.Build())
                {
                    var buyRatesService = container.Resolve<BuyRatesService>();
                    var logger = container.Resolve<ILogger<Program>>();
                    var server = new Server
                    {
                        Services =
                        {
                            BuyRates.BindService(buyRatesService)
                        },
                        Ports = {new ServerPort("0.0.0.0", 50051, ServerCredentials.Insecure)}
                    };

                    try
                    {
                        server.Start();
                        logger.LogDebug("Service started");
                        waitHandle.WaitOne();
                    }
                    catch (Exception e)
                    {
                        logger.LogCritical("Application terminated unexpectedly. Exception {@exception}", e);
                    }
                    finally
                    {
                        server.ShutdownAsync().Wait();
                        Console.CancelKeyPress -= OnConsoleOnCancelKeyPress;
                    }
                }
            }
        }
    }

Локально работает. Я развернул его в экземпляре ecs (Docker). Порт контейнера 50051. Используются ALB и Route 53.

Когда я пытаюсь подключиться к someroute54uri.net:50051 я получаю сообщение об ошибке Grpc.Core.RpcException: Status(StatusCode=Unavailable, Detail="Connect Failed").

В случае, если я пытаюсь подключиться к someroute54uri.net, я получаю сообщение об ошибке Grpc.Core.RpcException: Status(StatusCode=Unavailable, Detail="Trying to connect an http1.x server").

Спасибо !.

Пожалуйста, дайте мне знать, если дополнительная информация поможет решить проблему.

...