2017-04-12 1 views
0

J'utilise la version IdentityServer3 (2.5.4) pour le projet en cours, tout fonctionne correctement sur ma machine locale (avec IIS et IIS Express).IdentityServer3 Impossible d'obtenir le document de

Le client dispose d'une machine Windows7 Embedded (sans SP1!) Avec .NET 4.5 installé, nous avons créé un certificat SSL autosigné (avec le nom d'hôte actuel, NOT localhost), mais cela ne fonctionne pas. Je reçois toujours l'erreur "Impossible d'obtenir le document de: https://xyz/.well-known/openid-configuration"

quel est le problème avec la configuration?

Répondre

1

J'ai trouvé la solution, il n'a rien à voir avec la configuration. L'installation de Windows 7 SP1 l'a corrigé.

0

Dans quelques cas où nous avons eu ce problème, il s'agit principalement de la connectivité réseau.

Peu de choses qui nous ont aidés à comprendre la cause racine -

Accéder à la route « https://xyz/.well-known/openid-configuration » à partir d'un navigateur sur le serveur.

Si vous ne parvenez pas à accéder à l'URL, cela signifie que le serveur ne peut pas se connecter à l'installation d'Idserver. C'est un problème de niveau réseau.

Si vous êtes en mesure d'accéder à l'URL depuis le serveur sur lequel l'application de confiance est hébergée, mais que l'application de confiance envoie une erreur -> cela signifie qu'un proxy est configuré sur le serveur. Le navigateur utilise automatiquement le proxy, où que vous devez définir le proxy dans l'application de partie se fiant comme ci-dessous dans les startup.cs

var request = WebRequest.Create(uri); 
    var myProxy = new WebProxy {Address = new Uri("proxy uri")}; 
    request.Proxy = myProxy;   
    var response = request.GetResponse(); 

Cela garantira que toutes les requêtes http provenant du code utiliseront également la même proxy.

Si ce qui précède n'aide pas, Vérifiez si l'IIS où Idserver est installé, permet TLS 1.0 et 1.1. Ceci est désactivé sur certains serveurs à des fins de sécurité. Si tel est le cas, utilisez le code ci-dessous pour faire ur l'utilisation des applications tls 1.2 et l'appel réussira

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 
+0

Je reçois l'erreur, lorsque j'essaie d'ouvrir le lien directement sur le serveur. Je ne pense pas que ce soit un problème de réseau. Nous avons ajouté le code suivant dans Startup.cs (à l'intérieur de la méthode de configuration) 'System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;', mais cela ne fonctionne toujours pas. A-t-il un lien avec Windows 7 Embedded Standard (pas de SP1)? – pbachman

+0

Cela peut être lié à la configuration de l'idServer. Veuillez vérifier le fichier trace.log dans votre dossier Web d'installation d'idserver. Le fichier journal vous mènera au problème réel. – jkr

+0

quel dossier d'installation ou d'installation voulez-vous dire? sur le serveur est seulement la version déployée de notre projet idServer (y compris les DLL IdentityServer3). Y at-il des prérequis, qui devraient être installés sur le serveur? Je peux ouvrir la page d'accueil du serveur IdentityServer3 (via https: // nom_hôte du serveur), mais je ne peux pas ouvrir le lien https: //hostname-of-the-server/.well-known/openid-configuration le navigateur sur le serveur. – pbachman