переадресация портов: перенаправить вызовы веб-службы через порт 8081 на порт 80

мой коллега написал веб-сервис, который работает на порту 8081 нашего сервера Windows 2008. Он использует класс ServiceHost, на самом деле это означает, что это автономный хост (без участия IIS или ASP). Примечание. Я новичок в WCF;)

Теперь есть некоторые проблемы с клиентами за брандмауэром, блокирующими запросы к удаленному порту 8081 нашего сервера (где работает веб-сервис). Самым простым решением было бы: запустить узел веб-службы на порту 80 ... Но: есть также веб-сервер Apache 2.2, работающий на сервере Windows, на котором размещены некоторые веб-сайты. По умолчанию он работает на порту 80.

Мое решение после некоторых исследований: используйте виртуальный хост для маршрутизации запросов на виртуальный хост (скажем, http://webservice.[hostname]:80) на хост веб-сервиса (http://[hostname]:8081 ).

Это хорошая идея? Может ли Apache выполнять переадресацию на автономные хосты веб-сервиса? Было бы неплохо, если бы кто-то мог направить меня на правильный путь :)

С уважением, Нильс


person NiBa    schedule 31.05.2010    source источник
comment
Насколько я знаю, Apache и IIS не могут прослушивать один и тот же порт, но, надеюсь, кто-нибудь ниже докажет, что я ошибаюсь.   -  person Nick Craver    schedule 31.05.2010
comment
Кстати, есть ли техническая причина, по которой вы используете Apache на сервере Windows? IIS может сэкономить вам много боли и усилий.   -  person Matthew Whited    schedule 31.05.2010
comment
Ну, не по техническим причинам, а по историческим причинам. Есть медиавики, блоги на wordpress и так далее. Я проверю, как запустить их на IIS. Я не буду запускать apache и IIS на одном и том же порту. В будущем я планирую использовать два физических сервера для веб-сервисов и веб-страниц или, по крайней мере, для виртуализации. Но мне нужен обходной путь сейчас.   -  person NiBa    schedule 01.06.2010


Ответы (2)


Самым простым решением было бы получить другой IP-адрес для запуска хоста WCF. Тогда вы могли бы прослушивать один и тот же порт, но разные IP-адреса.

person Mark Brackett    schedule 31.05.2010
comment
Да, мы заказали второй IP-адрес для сервера. Я проверю это. Заранее спасибо. - person NiBa; 01.06.2010

Если ваш сервер Apache является вашим передовым сервером, и вы хотите, чтобы запросы перенаправлялись на вашу внутреннюю службу/IIS, вам следует посмотреть mod_proxy и настроить обратный прокси.

person Matthew Whited    schedule 31.05.2010