You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
The dotnet-install scripts don't handle proxy-injected redirect responses #650
The dotnet install scripts previously assumed every non-final HTTP status in the aka.ms redirect chain must be 301. Some proxies inject additional HTTP response blocks, such as "200 Connection Established", which caused valid redirect chains to be treated as broken.
As an example:
HTTP/1.1 301 Moved PermanentlyServer: KestrelLocation: https://aka.ms/dotnet/8.0/dotnet-sdk-linux-x64.tar.gzHTTP/1.1 301 Moved PermanentlyServer: KestrelLocation: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-linux-x64.tar.gzHTTP/1.1 200 Connection EstablishedProxy-Agent: Zscaler/6.2HTTP/1.1 200 OKContent-Type: application/octet-stream...Content-Length: 216078119Akamai-GRN: 0.e31e1602.1751887072.96833289
The current logic drops the final response code (presumably a 2xx/4xx/5xx), and then checks the remaining codes for anything that is not 301, assuming that indicates failure. However, in the above example there would still be a 200 at the end, resulting in an assumed redirect failure despite this actually being a success.
(@kalined I made this from your content because we like to have issues for tracking purposes - thank you for your PR!)
Activity
MichaelSimons commentedon Dec 2, 2025
Re-opening until fix is releases.