2017-07-07 2 views
0

J'essaie d'accéder à un service tiers à partir d'Azure App Services (idéalement des fonctions, mais une application Web le ferait). Toutefois, ce service est hébergé sur un port non standard, par ex. https://myservice.com:445Comment se connecter à un service externe sur un port non standard à partir d'un service Azure App?

J'utilise le System.Net.Http.HttpClient pour faire une requête POST, mais toujours obtenir un SocketException:

Une erreur est survenue lors de l'envoi de la demande. Impossible de se connecter au serveur distant Tentative d'accès à une prise de manière interdite par ses autorisations d'accès 1.2.3.4:445

Le code fonctionne sur mon environnement local (émulateur de fonctions ou Kestrel), mais échoue sur Azure. J'ai essayé d'utiliser un service hébergé sur un point de terminaison https régulier, par ex. https://myotherservice.com, et l'appel passe normalement.

Je suppose qu'il existe une sorte de règle de pare-feu sortant qui empêche l'appel du premier coup, mais je n'ai trouvé aucune option de configuration pour le désactiver. C'est possible? Je ne peux malheureusement pas changer l'extrémité du service que j'ai besoin d'appeler.

+0

Il n'y a aucune restriction sur les adresses IP et les ports sortants. Êtes-vous sûr que le service lui-même n'a pas de liste blanche? – Mikhail

+0

@Mikhail il n'y a pas de liste blanche, le service est accessible depuis Internet. Il utilise cependant un certificat auto-signé. Je me demande si pour une raison quelconque cela pourrait être la source de l'exception ... – madd0

+0

Pouvez-vous partager le nom de votre application directement ou indirectement (https://github.com/Azure/azure-webjobs-sdk-script/wiki/Sharing- Your-Function-App-name-private) afin que nous puissions exclure d'autres problèmes potentiels? Est-ce que cela arrive de manière cohérente? Ou est-ce sporadique? –

Répondre

2

Après avoir vérifié votre demande, j'ai effectivement constaté que ces demandes étaient bloquées par l'infrastructure.

J'ai également pu trouver de la documentation publique couvrant les ports ici: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#restricted-outgoing-ports

+0

65531 ports disponibles et nous sommes allés avec l'un des 4 qui ne fonctionnent pas C'était définitivement le problème, mais je n'aurais jamais trouvé les documents que vous avez liés, surtout parce qu'ils ne sont pas sur un site Microsoft ou Azure. Merci! – madd0