Ошибки создания MSMQ: компьютер установки рабочей группы не поддерживает операцию / внутренний сертификат очереди сообщений пользователя не существует

Это сводит меня с ума, поэтому, если бы кто-нибудь смог мне помочь, я был бы очень благодарен!

Я пытаюсь отправить сообщение в общую очередь с сервера в домене на контроллер домена, но я получаю сообщение об ошибке:

«Установочный компьютер рабочей группы не поддерживает эту операцию».

Я настроил MSMQ на контроллере домена и создал очередь сообщений в папке Public Queues.

Я знаю, что подобный вопрос был задан ранее:

Почему MSMQ считает, что я нахожусь на компьютере рабочей группы?

но я попробовал все то, что было предложено, но я все еще получаю ту же ошибку.

Итак, чтобы рассказать вам о том, что я пробовал из предложений:

a) Интеграция AD не была выбрана в качестве опции установки - при установке msmq она была выбрана

б) интеграция AD была выбрана, но не удалось инициализировать; проверить журналы событий - я проверил свои журналы событий, и у меня есть сообщение - Выбираемое обновление MSMQ-ADIntegration пакета MSMQ Server пакет был успешно включен.

c) Проверьте наличие потерянных объектов в Active Directory - я проверил LostAndFound Directory в Active Directory - пользователи и компьютеры, чтобы проверить отсутствие потерянных объектов в AD.

и я следовал этим инструкциям: http://technet.microsoft.com/en-us/library/cc730960.aspx

Я также удалил, перезапустил и переустановил, и еще раз проверил, что у меня нет потерянных объектов.

Также все ли серверы, которые отправляют сообщение, должны иметь установленный msmq? на данный момент у меня есть только на контроллере домена, который я думал, будет достаточно.

Редактировать 1: я добавил msmq ко всем серверам, которые отправляют сообщения (они сбалансированы по нагрузке, так что это может быть любой из них), у них уже установлен msmq, но без общедоступных очередей, поэтому я удалил и установил заново (отметив все соответствующие поля при выборе msmq - Служба интеграции / маршрутизации службы каталогов и т. д., и теперь у них есть открытые очереди. Теперь я получаю новую ошибку:

«Внутренний сертификат очереди сообщений пользователя не существует».

Изменить 2:

Я все еще работаю над этим, но добился определенного прогресса - когда я проверил свой контроллер домена на наличие центра сертификации, он был там, но когда я посмотрел на IIS, в нем отсутствовал виртуальный каталог CertServ - см. Ссылку для объяснения:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms755466%28v=vs.85%29.aspx

Как только я разберусь с этой проблемой, я буду запрашивать сертификат компьютера для каждого из моих серверов, как показано ниже:

http://technet.microsoft.com/en-us/library/cc740173%28v=ws.10%29.aspx

Надеюсь, это сработает!

РЕДАКТИРОВАТЬ 3: хорошо, так что по причине мусорного интернета я не могу запросить сертификат, но, надеюсь, это будет исправлено в следующий день. Поэтому я попытался выполнить самоконтроль, который ничего не изменил, и отключил UseAuthentication = true, UseEncryption = true, снял флажок с проверкой подлинности и установил шифрование по желанию. Я больше не получаю сообщение об ошибке, которое наводит меня на мысль, что с аутентификацией что-то не так (что касается Active Directory). Однако даже при том, что это не сработало в том смысле, что сообщение об ошибке не отображалось и страница, которую я ожидал показать на моем сайте это показано. В моей публичной очереди сообщений контроллера домена нет сообщений ...

Я сделал это локально, где это работает, кажется, когда я пытаюсь сделать это в домене, который вызывает проблемы.

Изменить 4:

Просто напишите, что вы знаете мой прогресс в этом вопросе - я хотел убедиться, что сообщение отправлялось на контроллер домена, поэтому я посмотрел на мониторинг MSMQ End2End - так на каждом из веб-серверов (сообщение отправлено с) и Контроллер домена (сообщение отправлено) в окне просмотра событий & gt; Журналы приложений и служб & gt; Microsift & GT; Windows> MSMQ> End2End I включил ведение журнала.

Когда я снова попытался отправить сообщение на веб-сервер, было зарегистрировано 2 события End2End:

Message with ID CN=msmq,CN=ETAILWEB03,CN=Computers,DC=Etail,DC=local\7 was sent to queue PUBLIC=d7ee680c-11ec-4d9a-aa31-528dcc9b1eba

Message sent over network

И на контроллере домена в событиях End2End:

Message came over network

Из этого, кажется, пришло сообщение, поэтому я сейчас смотрю, где сообщение потеряно:

https://groups.google.com/forum/?fromgroups=#!topic/microsoft.public.msmq.networking/88FYCvO2YwQ

Изменить 5:

Хорошо, так следующее:

MSMQ сообщения получены, но не доставлены Windows 2008 R2

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

Изменить 6:

Все еще боролся с этим, но получил немного дальше ...

На контроллере домена (где находится центр сертификации и принимающий MSMQ) автоматическая регистрация сертификата настроена, и я запускаю следующее на веб-серверах (которые отправляют сообщения) - run - gpupdate / force и перезапускает каждый веб-сервер.

Я убедился, что на всех веб-серверах проверена проверка подлинности и выбрано тело в свойствах очереди сообщений. Я также обновил сертификаты на всех веб-серверах, чтобы они обновлялись, и теперь я получаю следующую ошибку:

Неверное имя пути в очереди.

Я посмотрел на следующую ссылку:

http://blogs.msdn.com/b/johnbreakwell/archive/2010/03/24/understanding-how-msmq-security-blocks-rpc-traffic.aspx

Изменить 7:

Хорошо, чтобы попытаться заставить это работать, казалось, что там, где пользователь веб-приложения не распознавался, на веб-серверах я переходил на IIS & gt; Бассейны приложений & gt; Расширенные настройки & gt; Идентификационные данные и установить идентификатор для сетевой службы. После того, как это было сделано, я больше не получаю сообщение об ошибке, когда запускаю свое приложение, но сообщение, похоже, не находится в общей очереди, где я ожидал бы, поэтому теперь я снова посмотрю на end2end, чтобы узнать, смогу ли я узнать куда это делось

Fix

Как только IIS был установлен в Network Service, я дважды проверил, что отправляемое сообщение было аутентифицировано, и контроллер домена, который получил сообщение, проверил аутентификацию. Я дал полный доступ всем в моей публичной очереди, и это сработало!

Честно говоря, на этом пути было много проб и ошибок, но, надеюсь, этот пост поможет другим - благодаря Джону Б. большая часть материала, который я прочитал на эту тему, была опубликована им в той или иной форме!

Ответы на вопрос(1)

Ваш ответ на вопрос