2012-02-21 5 views
1

У меня есть два хоста служб WCF в IIS: PublicService.svc и PrivateService.svc. На сервере IIS имеется два адаптера Ethernet (для Интернета и локальной сети).Разрешить доступ только к локальной сети для служб WCF

Как я могу сделать PrivateService.svc доступным только в локальной сети по файлу конфигурации? Или есть простой способ ограничить доступ к PrivateService.svc из Интернета?

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

Благодаря

ответ

1

Просто сделайте местное связывание (127.0.0.1 или локальный) или конкретные IP Адресная из локального сетевого адаптера (192.168. .). Таким образом, ваши услуги не будут доступны из внешней сети.

+0

Спасибо Даниил. Но как сделать локальную привязку? Я пытаюсь изменить адресное поле в конечной точке на локальный IP (192.168 ..), но privateService.svc не может активировать. – langtu

+0

Поле адреса означает адрес после PrivateService.svc (например, PrivateService.svc/mex, PrivateService.svc/etc.). Попробуйте использовать baseAddresses (http://msdn.microsoft.com/en-us/library/ms788995.aspx) в настройках своей службы. Кроме того, если вы размещаете службы, используя приложение (веб-сайт), вы можете просто связать связанный веб-сайт с локальным хостом (127.0.0.1). –

+0

Я все еще не могу сделать доступ к PrivateService.svc только из локальной сети. Базовый адрес игнорируется, поскольку хост служб в IIS (http://stackoverflow.com/questions/56249/wcf-service-configuration-file-question-regarding-baseaddresses). И я все еще хочу, чтобы PublicServices.svc все еще доступен через Интернет. – langtu

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