Используя .NET 4.7.1 и минимальную конфигурацию WCF, WSDL при обращении по HTTPS показывает HTTP-адрес и показывает неверный хост, если в конфигурации не включен порт 80.
Эта служба должнабыть доступным только по протоколу HTTPS, который в дальнейшем будет применяться правилом брандмауэра.
Моя конфигурация выглядит следующим образом
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpsGetEnabled="True"/>
<useRequestHeadersForMetadataAddress/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
И результат выглядит так в браузере (демонстрирует неверную схемуи неверный хост. Извините, что я должен заблокировать большую часть этого, но вы должны быть в состоянии получить то, что я говорю ...)
в результате wsdl
Я понимаю, что "useRequestHeadersForMetadataAddress" сообщает WCF, что я действительно хочу, чтобы WSDL находился рядом со службой.Я предположил, что это также должно быть в состоянии справиться с теми же намерениями для схемы.
Есть мысли?