У меня есть 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 также доступны! Я не понимаю, почему это происходит. Я успешно воссоздал проблему несколько раз.
Может ли кто-нибудь предложить объяснение или предложить какие-либо другие правила брандмауэра, чтобы попробовать?
Моя конечная цель состоит в том, чтобы упаковать сервисы и веб-сайт в установщик, чтобы я не хотел, чтобы мои конечные пользователи столкнулись с брандмауэром. Возможно, они даже не смогут выключить и снова включить.
Большое спасибо
Уже пробовал это. Добавление входящих и исходящих правил для TCP 80 также влияет на http. – HomeAlone