NuGet 프록시 저장소가있는 Nexus SSO 서버가 2 대 있습니다. 하나는 사설망 환경 (v3.0.0)이고 다른 하나는 DMZ (v3.0.1)에 인터넷 액세스가 가능합니다.SonaType Nexus NuGet 프록시 404 (다른 Nexus로 전달할 때)
DMZ에있는 Nexus 서버로 요청을 전달하는 개인 Nexus 서버로 요청이 먼저 전송되고 요청을 외부 nuget.org 저장소로 전달합니다. 기본적으로 :
클라이언트 -> 개인 프록시 -> dmz proxy -> internet.
이 방법을 사용하면 클라이언트에서 패키지를 찾을 수 없습니다 오류가 발생합니다. 개인 프록시의 로그에서 dmz 프록시에 요청을 http://dmzproxy/repository/NuGetRepository/FindPackagesById?id= 'angularjs' 으로 전달하지만 404를 찾을 수 없음을 확인했습니다. 인터넷
이 방법은 실제로 작동> -> DMZ 프록시 -
클라이언트 :
이 문제를 해결, 나는 것이 바로 해당 서버에서 nuget.exe를 실행하여 개인 프록시를 우회하는 시도
http://dmzproxy/repository/NuGetRepository/FindPackagesById()?id= 'AngularJS와'
컴 : 및 -Verbosity 상세한와 nuget.exe 사용하는, 그 nuget.exe 민간 프록시보다 비무장 지대 프록시 약간 다른 요청을 보냅니다 볼 수 있습니다 Nexus에서 보낸 요청에 따라 FindPackagesById 다음에 괄호()가 있다는 것을 알 수 있습니다. 따라서 테스트를 위해 두 요청 URL을 모두 브라우저 창에 복사/붙여 넣었고 실제로 괄호없이 404를 얻었고 괄호로 패키지 피드 페이지를 얻습니다.
따라서 Nexus는 NuGet을 제공 할 때 괄호로 작동하지만 다른 Nexus 서버로 요청을 전달할 때 적용되지 않아 404 응답이 발생합니다.