J'ai un client et un serveur écrits en .net 3.5 donc je n'ai aucun problème d'interopérabilité.Pouvez-vous réaliser une communication bidirectionnelle cryptée en utilisant WCF lorsque le client peut être derrière un proxy, un pare-feu ou un NAT?
Le serveur est entièrement accessible sur le port 443 (je l'héberge pour que je puisse ouvrir d'autres ports si nécessaire)
Le client est cependant moins accessible. Il est souvent derrière un pare-feu d'entreprise, ou derrière un NAT, ou utilise un proxy http/https pour se connecter à Internet.
Je dois établir une communication bidirectionnelle cryptée entre le client et le serveur.
Les deux canaux bidirectionnels fournis dans WCF ne semblent pas faire l'affaire:
NetTcpBinding ne semble pas soutenir les proxies HTTP (source)
WSDualHttpBinding exige que le client a un URI public qui fournit un point de terminaison de rappel pour le service, ce qui n'est malheureusement pas le cas ici (source)
WCF peut-il établir ce type de connexion bidirectionnelle cryptée (en utilisant silencieusement le tuner https si nécessaire), sans régler les paramètres de pare-feu/proxy du côté client?
Que voulez-vous dire par «communication bidirectionnelle»? Le serveur devrait-il être capable d'envoyer une demande non-sollicitée au client, ou simplement une réponse "synchrone"? – Arnout
Unsollicited. En d'autres termes, le serveur devrait être capable d'invoquer une méthode de rappel sur le client. Il est possible de truquer en utilisant des réponses synchrones (appelées polling), mais cela a des inconvénients évidents (latence, performance) – Brann
Je ne peux pas imaginer qu'un pare-feu classique supportera le scénario non-sollicité ... Je pense que c'est-à-dire que les connexions sont toujours initiées par le client) est votre meilleur pari. – Arnout