NuGetプロキシリポジトリを持つ2つのNexus SSOサーバがあります。 1つはプライベートネットワーク環境(v3.0.0)、もう1つはDMZ(v3.0.1)のインターネットアクセスです。SonaType Nexus別のNexusに転送する場合のNuGetプロキシ404
DMZ内のNexusサーバに要求を転送するプライベートNexusサーバに要求が最初に送信され、要求は外部のnuget.orgリポジトリに転送されます。したがって、基本的に:
クライアント - >プライベートプロキシ - > dmzプロキシ - >インターネット。
この方法を使用すると、クライアントにgetが見つかりません。パッケージを見つけることができません。プライベートプロキシのログから、私はdmzプロキシに要求を http://dmzproxy/repository/NuGetRepository/FindPackagesById?id= 'angularjs' として転送しますが、404が見つからないことがわかります。問題のトラブルシューティング
は、私がされるであろう、まっすぐそのサーバからnuget.exe実行することにより、プライベートプロキシをバイパスしてみました:
クライアント - > DMZプロキシ - >インターネット
この方法は、実際に動作します、
http://dmzproxy/repository/NuGetRepository/FindPackagesById()?id=「angularjs」
コム:かつ詳細な-verbosityでnuget.exe使用してから、私はそのnuget.exeがプライベートプロキシが行うよりも、DMZプロキシにわずかに異なる要求を送信見ることができますNexusから送信されたリクエストでは、FindPackagesByIdの後ろにある括弧()であることがわかります。したがって、テストのために、両方のリクエストURLをブラウザウィンドウにコピーして貼り付けました。実際にはかっこなしで404を取得し、かっこでパッケージフィードページを取得します。
NexusはNuGetを提供するときにかっこで動作しますが、別のNexusサーバに要求を転送するときには適用されないため、404応答が発生します。