Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
NuGet nécessite que toutes les sources de package utilisent HTTPS au lieu de HTTP. Cette application protège la chaîne d’approvisionnement logicielle en empêchant la falsification et l’interception pendant la restauration des packages et les opérations associées. NuGet applique cette exigence en produisant une erreur et en arrêtant l’opération lorsqu’une source HTTP est utilisée.
Présentation de l’erreur HTTP
Cette erreur se produit quand une ou plusieurs sources de package dans votre configuration utilisent une URL HTTP au lieu de HTTPS.
Dans les versions antérieures de NuGet, ce scénario a généré un avertissement (NU1803).
À compter de NuGet 6.12 et versions ultérieures, elle génère désormais une erreur , sauf si l’utilisation de sources HTTP est explicitement autorisée.
Résolution recommandée
Avant d’autoriser les connexions HTTP, vérifiez si votre source de package prend en charge HTTPS. Si c’est le cas, mettez à jour l’URL du flux pour utiliser le protocole sécurisé :
<add key="MyFeed" value="https://contoso/packages/v3/index.json" />
Le passage au protocole HTTPS garantit le chiffrement de bout en bout et est l’approche recommandée et plus sécurisée.
Autorisation des flux HTTP non sécurisés (Opt-Out)
Si HTTPS n’est pas disponible et que vous utilisez dans un environnement approuvé ou isolé, vous pouvez autoriser explicitement les sources HTTP.
Option 1 : Définir allowInsecureConnections dans votre NuGet.Config
Utiliser Visual Studio
Activez ou désactivez l’autorisation des connexions HTTP non sécurisées avec les paramètres sources de package sous le > des options Visual Studio.
Modifier
NuGet.ConfigmanuellementAjoutez l’attribut
allowInsecureConnections="true"à la source affectée :<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="MyHttpFeed" value="http://contoso/packages/v3/index.json" allowInsecureConnections="true" /> </packageSources> </configuration>
Option 2 : Utiliser le paramètre Command-Line
Pour les commandes qui le prennent en charge, incluez l’indicateur suivant pour autoriser temporairement les connexions HTTP :
Pour les commandes dotnet :
--allow-insecure-connections
Pour NuGet.exe commandes, utilisez :
-AllowInsecureConnections
Commandes qui prennent en charge les options de désactivation
| Tool | Commands | Prise en charge de l’autorisation d’une connexion non sécurisée |
|---|---|---|
| nuget.exe | push |
NuGet 7.0 |
| dotnet CLI | dotnet nuget push |
.NET 10.0.1xx et versions ultérieures |
| dotnet CLI | dotnet nuget add source |
.NET 9.0.1xx et versions ultérieures |
Déploiement du renforcement HTTPS dans les outils
L’application HTTPS de NuGet a été introduite progressivement à travers les versions. Le tableau suivant récapitule la progression des avertissements (NU1803) aux erreurs (NU1302).
| Versions affectées | Comportement |
|---|---|
| NuGet.exe 6.3+, Visual Studio 17.3+, .NET 6.0.100+ | ⚠️ Avertissement (NU1803) : sources HTTP autorisées mais déconseillées |
| NuGet.exe 6.12+, Visual Studio 17.12+, .NET 9.0.100+ | ❌ Erreur (NU1302) : sources HTTP bloquées, sauf autorisation explicite |