2012-04-23 4 views
2

У меня есть служба WCF, которая настроена на запуск для высокого номера порта (например, 9000) в netTcpBinding. Все это работает, но только если клиент может получить доступ к данным на этом порту. У нас было несколько случаев, когда корпоративные брандмауэры не позволяли нам подключаться к этому порту без большой боли.WCF: Как настроить трафик net.tcp на порт 80

Есть ли способ настроить его для работы с портом 80, не затрагивая веб-приложения, которые работают на сервере в настоящее время, так что большинству корпоративных окружений ничего не нужно менять? Я знаю .net tcp port sharing,, но это не позволит порт 80 по net.tcp.

Если невозможно настроить net.tcp на порт 80, существуют ли какие-либо «лучшие практики» для такого рода ситуаций, чтобы минимизировать проблемы с брандмауэром?

ответ

4

Я предлагаю вам попробовать порт 8080, который разрешен в большинстве брандмауэров. IIS 7.0 в настоящее время не поддерживает совместное использование одного и того же порта между различными связями протоколов. Так что HTTP + TCP на том же порту не будет работать.

+0

Благодарим за ответ, и голова за использование 8080. Нет причин, по которым мы используем 9000, поэтому мы можем перейти на этот порт. –

1

Вам необходимо убедиться, что вы привязаны к определенному ip. обычно при связывании служб WCF люди используют 0.0.0.0 для принятия на любом ip. Если вы сделаете это на порту 80 или не укажете порт, он переопределит все существующие конфигурации в IIS, эффективно уничтожив все запущенные сайты.

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

+0

Наш сервер имеет 4 привязанных к нему IP-адреса, поэтому мы можем использовать IP-адрес для сайта IIS, на котором размещена служба WCF. Но, насколько я могу понять, вы не можете привязать веб-сайт в IIS к использованию net.tcp на порт X для ip-адреса Y, не так ли? –

+0

Я случайно связал службу WCF с http://0.0.0.0, которая заставила машину маршрутизировать весь трафик, предназначенный для IIS, для нашей службы WCF, насколько я знаю, любое связывание, которое вы укажете, переопределит IIS, слушая данные , – NKCSS

+0

Значит, это то, что вы делаете в конфигурации WCF, а не в менеджере IIS? –

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