IIS 10 apporte le support des domaines en * (wildcard). Cela dis WCF ne le supporte pas!
Nous avions un service WCF hébergé sur un site sur IIS (dans un CloudService Azure pour être précis) et ce site avait des hostname type "lille.monsite.com ; paris.monsite.com ; lyon.monsite.com …".

Voici donc notre configuration initiale (qui était donc valide)
image

Ayant un certificat SSL de type wildcard *.monsite.com, nous avons adapté la configuration pour permettre au site de répondre sur *.monsite.com et avons retiré les anciens hostname. En faisant ceci, le service WCF est tombé en erreur HTTP 500 !
image
image

Pour faire simple : notre service n’arrive pas a se charger, plus précisément il n’arrive pas a charger sa configuration de binding.

Après avoir cherché, nous avons découvert que WCF ne supporte pas les host header de type wildcard : https://blogs.msdn.microsoft.com/dsnotes/2017/07/07/wcf-support-for-wild-card-host-header-at-iis-10-and-above/

Pour corriger ce problème : nous avons ajouté un header fictif "localhost" en premier dans la liste. L'astuce ici est de permettre au service de se charger en utilisant le header localhost. Pour autant, il répondra bien aux requêtes type "maville.monsite.com"! Attention, ce header “non wildcard” doit être en premier dans la liste sinon le service WCF ne se chargera pas!

Voici donc la configuration :
image
et le résultat :

image