Веб-службы WCF IIS 7 выдают ошибку 404 по HTTPS

У меня есть некоторые веб-службы WCF, работающие под IIS 7.5, которые правильно отвечают на HTTP-запросы, но при вызове методов с использованием SSL выдают ошибку 404 (не найдено).

Привязки для сайт выглядит следующим образом:

IIS 7 Site Bindings

При вызове http://127.0.0.1:8088/Public/PublicDataService. позвонить в сервис. Вы можете сделать это с помощью инструмента svcutil.exe из командная строка со следующим синтаксисом: etc

И аналогично вызову любого из методов службы работает самый простой метод, называемый CanConnect, который просто возвращает "true"

http://127.0.0.1:8088/Public/ PublicDataService.svc / CanConnect

true

При использовании https результатом является следующее.

https://127.0.0.1/Public/PublicDataService.svc

Вы создали службу.

Чтобы протестируйте эту услугу, вам нужно будет создать клиента и использовать его для позвонить в сервис. Вы можете сделать это с помощью инструмента svcutil.exe из командная строка со следующим синтаксисом:

https://127.0.0.1/Public/PublicDataService.svc/CanConnect

Ошибка сервера в приложении «/ Public».

Не удается найти ресурс.

Описание : HTTP 404. Ресурс, который вы ищете (или один из зависимости) мог быть удален, его имя было изменено или Временно недоступен. Просмотрите следующий URL и сделайте убедитесь, что он написан правильно.

Запрошенный URL: /Public/PublicDataService.svc/CanConnect

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; Версия ASP.NET: 4.6.1055.0

Это меня полностью озадачило: как вызовы .svc работают, но его внутренние методы дают 404? Чтобы еще больше запутать ситуацию, это работало ... на самом деле я даже не уверен, когда он остановился, т.е. соответствует ли это выпуску кода или исправлениям сервера и т.д.

Фактическая конфигурация веб-сайта выглядит следующим образом:

Webservices (this is the root of the application / where the Web.Config sits)
- Public (a windows directory, no addition config)

Есть ряд других сервисов, которые работают непосредственно под корневым каталогом, которые нормально работают как под http, так и с https.

Есть идеи относительно того, что могло быть причиной этого.

7
задан 12 May 2016 в 17:15
1 ответ

Оказывается, это просто ошибка в файле web.config.

Эти два ответа на SO были решением:

https://stackoverflow.com/a / 26581326/1286358

И наоборот

https://stackoverflow.com/a/26539003/1286358

Странно, что он работал как с http, так и с https один раз, а затем просто остановился .... должно быть были некоторые другие изменения конфигурации в другом месте ..

РЕДАКТИРОВАТЬ: Фактическое исправление для полноты

Следующее было в web.config было изменено с "none" на "Transport"

<system.serviceModel>
    <bindings>
        <webHttpBinding>
            <binding>
                <security mode="Transport" />
7
ответ дан 2 December 2019 в 23:37

Теги

Похожие вопросы