#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 и не добавили ее в реестр, как вы должны сделать, чтобы предотвратить эту проблему с обратной связью.