Impossible de changer HNSC HTTP en HTTPS
-
10-12-2019 - |
Question
J'ai une application Web utilisant des collections de sites nommées par l'hôte.Je l'ai configuré en utilisant HTTP, plus tard j'ai pensé à utiliser HTTP.J'ai modifié l'AAM pour utiliser HTTPS par défaut et HTTP comme zone intranet.Jusqu'à présent, tout fonctionne bien - je peux accéder aux sites en utilisant HTTPS ainsi que HTTP.
Malheureusement, certains composants WebPart standard prennent l'URL du défaut Zone des emplacements.Voici le problème :
>> Get-SPSiteURL http://collaboration.domain.de
Url Zone
--- ----
http://collaboration.domain.de/ Default
https://collaboration.domain.de/ Extranet
La valeur par défaut est donc HTTP.Je ne parviens pas à modifier l'URL de la zone par défaut à l'aide de Set-SPSiteUrl
et je dois utiliser SPSite.Rename
.Aucun problème:
>> Remove-SPSiteUrl https://collaboration.domain.de
>> $site = get-spsite http://collaboration.domain.de
>> $site.Rename("https://collaboration.domain.de")
>> Set-SPSiteUrl -Identity https://collaboration.domain.de -Url http://collaboration.domain.de -Zone Intranet
Encore une fois, aucune erreur.Et en vérifiant à nouveau les URL, j'obtiens ceci :
>> Get-SPSiteUrl https://collaboration.domain.de
Url Zone
--- ----
http://collaboration.domain.de/ Intranet
https://collaboration.domain.de/ Default
Parfait! (attention à l'ordre, c'est l'inverse ?) Mais voici le problème.Je ne peux plus accéder au site en HTTPS, j'obtiens des erreurs d'accès refusé ainsi que celles-ci System.ArgumentException
avec encodedValue
dans le journal ELU, voir l'extrait correspondant du journal ici : http://pastebin.com/8QrtakKz.J'utilise l'authentification Windows (NTLM), pas les formulaires.
Je peux modifier l'URL sans problème en utilisant le même processus que celui décrit ci-dessus et tout recommence à fonctionner, uniquement avec la mauvaise URL dans la zone par défaut.
- Qu'est-ce que je fais mal?
- Comment puis-je modifier l'URL d'une zone par défaut HNSC (collection de sites nommée par l'hôte) de HTTP à HTTPS ?
- Comment puis-je modifier toutes les collections de sites sous le HNSC, y compris un chemin géré (dans ce cas, il s'agit de /community/communitysite1, /community/communitysite2, ...) pour avoir une URL de zone par défaut avec HTTPS ?
Si tout le reste échoue, comment puis-je sauvegarder les sites et les restaurer dans un nouvel emplacement, mais encore une fois avec HNSC ?J'aimerais utiliser la manière suggérée d'utiliser .Rename()
.
Clause de non-responsabilité:J'ai aussi posté sur Forums MSDN et sera mis à jour avec une solution si elle y est trouvée.
La solution
Apparemment c'est pas possible pour passer à HTTPS après avoir configuré l'application Web racine HNSC sans SSL (-SecureSocketsLayer
paramètre) - voir "SPSite.Rename ne fonctionne pas de HTTP vers HTTPS (HNSC)".
La solution: Vous devrez supprimer l'application Web HSNC existante (assurez-vous de ne pas supprimer les bases de données de contenu[!!!]) et la recréer avec le -SecureSocketsLayer
paramètre dans PowerShell.Ensuite, vous pouvez modifier toutes les collections de sites contenues avec Move-SPSite
et déplacez-les vers le nouveau https
emplacement basé.Peut-être souhaiterez-vous également rajouter HTTP aux sites pour lesquels vous pouvez utiliser Set-SPSiteURL
.