2016-09-29 3 views
0

У меня есть 3 самостоятельных WCF-окна, которые общаются друг с другом через http-порт 80, используя базовую привязку http. На том же компьютере у меня есть веб-сайт (также работает по умолчанию порт 80), размещенный в IIS, который также управляет и обменивается данными с одной из этих служб. Все работает отлично в этом хостинге Windows 10, т. Е. Веб-сайт может разговаривать с сервисами, а службы могут разговаривать друг с другом.WCF http-сервисы, заблокированные брандмауэром Windows 10

Когда я пытаюсь получить доступ к веб-сайту с другого компьютера в сети, я получаю сообщение в браузере, в котором говорится, что «DNS-адрес сервера не найден». Я даже не могу получить доступ к URL-адресу метаданных службы WCF.

Это похоже на проблему с брандмауэром на главной машине, поэтому я добавил правила входящего и исходящего трафика для TCP-порта 80 и удостоверился, что правила «World Wide Web Services (HTTP Traffic-In)» и «World Wide Web Services» (HTTPS Traffic-In) '. Ни одно из этих изменений не работало, поэтому я удалил правила TCP, которые я добавил.

Наконец-то я полностью отключил брандмауэр, и я смог получить доступ к веб-сайту с другого ПК. Однако, когда я снова включил брандмауэр, веб-сайт продолжал работать, и внезапно мои метаданные WCF также доступны! Я не понимаю, почему это происходит. Я успешно воссоздал проблему несколько раз.

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

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

Большое спасибо

ответ

0

Как насчет исходящих правил на порт 80 для HTTP?

+0

Уже пробовал это. Добавление входящих и исходящих правил для TCP 80 также влияет на http. – HomeAlone

0

Наконец-то выяснилось. URL-адрес, который я использовал для доступа к хостинговой машине, использовал имя машины. Чтобы машина реагировала на поиск имени, было включено правило брандмауэра, называемое «Network Discovery (NB-Name-In)» для общедоступного профиля. Это правило разрешает трафик на UDP-порту 137. После того, как поиск имени будет кэширован, URL-адрес будет правильно маршрутизирован. Это объясняет, почему он работал после того, как я отключен, а затем снова включил брандмауэр.

Смежные вопросы