Не удается аутентифицировать MassTransit 3 с RabbitMQ в IIS

#c# #iis #rabbitmq #masstransit

#c# #iis #rabbitmq #masstransit

Вопрос:

В духе полного раскрытия я не уверен, является ли это проблемой MassTransit / RabbitMQ или проблемой аутентификации / авторизации IIS, но теперь, когда вы были предупреждены, здесь идет. У меня есть ASP.NET Веб-приложение MVC на веб-сервере. Он использует MassTransit.Пакет NuGet RabbitMQ 3.4 для попытки установить соединение с сервером приложений с установленным Rabbit 3.6.5 / Erlang 18.0. Когда соединение пытается установить, IIS выдает 401.2:

 HTTP Error 401.2 - Unauthorized
You are not authorized to view this page due to invalid authentication headers.
  

Я отключил безопасность на сервере приложений, поэтому мой код подключения из веб-приложения выглядит следующим образом:

 return Bus.Factory.CreateUsingRabbitMq(cfg =>
            {
                    if (virtualHost == "/")
                    {
                        virtualHost = string.Empty;
                    }

                    cfg.Host(new Uri($"rabbitmq://{hostName}/{virtualHost}"), h =>
                    {
                        h.Username("qatemp");
                        h.Password("qatemp");
                    });
            });
  

Я настроил пользователя «qatemp» на сервере приложений и предоставил полный доступ ко всем виртуальным хостам. Обратите внимание, что у меня есть рабочее консольное приложение C #, которое может успешно подключаться к серверу приложений с помощью того же кода, что и выше, поэтому я обеспокоен тем, что это проблема, специфичная для IIS. Может ли кто-нибудь пролить свет на это? IIS настроен для проверки подлинности Windows, и эта часть, похоже, работает нормально … я думаю.

Спасибо,

Энди

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

1. Не уверен, почему IIS с 401.2 будет иметь какое-либо отношение к MassTransit, если бы произошла ошибка инициализации сайта, у вас была бы ошибка серии 5xx из-за ошибки веб-сервера.

2. Это привело к возникновению проблемы с обратной связью Windows. Проблема с аутентификацией возникает только при доступе к веб-сайту с веб-сервера. Мы приобрели новую запись DNS и не добавили ее в реестр, как вы должны сделать, чтобы предотвратить эту проблему с обратной связью.