Compartir a través de


NuGet Error NU1302

Escenario 1

Está ejecutando la operación "restore" con un origen "HTTP": myHttpSource. NuGet requiere orígenes HTTPS. Para usar un origen HTTP, debe establecer explícitamente "allowInsecureConnections" en true en el archivo NuGet.Config. Consulte https://aka.ms/nuget-https-everywhere para obtener más información.

Issue

myHttpSource es un origen HTTP no seguro. Se recomienda usar un origen HTTPS en su lugar.

Solution

Opción 1: Actualizar el origen para usar HTTPS

Si es posible, actualice el origen del paquete para usar https:// en lugar de http://:

<configuration>
  <packageSources>
    <add key="SecureSource" value="https://example.com/nuget/" />
  </packageSources>
</configuration>

Opción 2: Permitir conexiones no seguras (si es necesario)

Si el origen debe permanecer HTTP, permita explícitamente conexiones no seguras agregando la marca AllowInsecureConnections en el NuGet.Config:

<configuration>
  <packageSources>
    <add key="InsecureSource" value="http://example.com/nuget/" allowInsecureConnections="true" />
  </packageSources>
</configuration>

Opción 3: Consultar el nivel de análisis del SDK

La propiedad SdkAnalysisLevel del proyecto puede servir como solución temporal para administrar orígenes HTTP. Si se necesita tiempo adicional para resolver el error HTTP, puede reducir el SdkAnalysisLevel para suprimir los errores temporalmente. Así es como funciona:

  • Para el valor del nivel de análisis del SDK inferior a 9.0.100, el uso de orígenes HTTP desencadena una advertencia (NU1803).
  • A partir del nivel de análisis del SDK 9.0.100 o superior, los orígenes HTTP producen un error (NU1302) a menos que AllowInsecureConnections esté habilitado explícitamente.

Warning

Cambiar SdkAnalysisLevel tiene otros efectos secundarios. Consulte para SdkAnalysisLevel obtener un resumen del ámbito completo de las características del SDK de .NET afectadas.

Escenario 2

Está usando un origen de NuGet "https://contoso/v3/index.json" que contiene un punto de conexión de recurso de índice de servicio "HTTP": "http://contoso/v3-flatcontainer/contoso/index.json". Esto no es seguro y no se recomienda. Para permitir recursos HTTP, debe establecer explícitamente "allowInsecureConnections" en true en el archivo NuGet.Config. Para más información, visite https://aka.ms/nuget-https-everywhere.

Issue

Un origen de paquete configurado usa HTTPS, pero uno de sus recursos (indicado en el mensaje de error) usa HTTP.

NuGet requiere que todos los orígenes y sus recursos usen HTTPS. Si desea seguir usando este origen a pesar de su recurso HTTP, debe establecer la allowInsecureConnections marca en true en el archivo NuGet.config.

Para más información sobre los orígenes de paquetes y los puntos de conexión de recursos, eche un vistazo a la API del servidor NuGet.

Opción 1: Actualizar el origen para usar HTTPS

Siempre que sea posible, cambie a un origen de paquete que proporcione solo recursos HTTPS. Esta es la opción recomendada y más segura.

Opción 2: Permitir conexiones no seguras (si es necesario)

Si debe usar el origen, permita explícitamente conexiones no seguras agregando la allowInsecureConnections marca en NuGet.Config:

Para obtener información sobre cómo administrar la configuración en Visual Studio, vea Opciones de NuGet en Visual Studio.

<configuration>
  <packageSources>
    <add key="InsecureSource" value="https://contoso/v3/index.json" allowInsecureConnections="true" />
  </packageSources>
</configuration>