Назад | Перейти на главную страницу

Как скрыть тот факт, что на вашем сервере есть служба WCF, расположенная по адресу MyService.svc?

Есть ли способ обслужить настраиваемую страницу «Извините, не найдено» из запроса прямого доступа к службе WCF (файл .svc) на сервере, на котором запущены IIS 6.0 и .NET 3.5 SP1.

У меня есть требование, чтобы мой сервис в производственной среде не был обнаружен. В требовании указано, что публикация WSDL должна быть отключена, а в запросе также указано, что при прямом доступе к файлу MyService.svc через HTTP-запрос Get вместо этого отображается страница «Извините, не найдено».

У меня нет проблем с отключением метаданных в файле конфигурации.

<serviceMetadata httpGetEnabled="false" />

Но я не могу понять, как не показывать страницу .svc по умолчанию.

СЛУЖБА
Это служба Windows © Communication Foundation.

Публикация метаданных для этой службы в настоящее время отключена.

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

Также размещено на Переполнение стека.

Разве вы не можете просто ограничить доступ с помощью файлов clientaccesspolicy.xml или crossdomainpolicy.xml?

Вы также можете просто разместить службу на другом порту, если вы беспокоитесь, что кто-то забредет на http: //yoursite/service.svc

Пример crossdomainpolicy.xml с yourdomain.com

<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all" /> 
  <allow-access-from domain="*.yourdomain.com" secure="false" /> 
  <allow-http-request-headers-from domain="*" headers="*" secure="false" /> 
</cross-domain-policy>