Apacheの背後にあるArtifactoryで動作するスコープ付きnpmパッケージを取得しようとしています。私はArtifactoryにスコープパッケージを公開し、npm-localリポジトリに次のパスを作成します。@scopename/packagename/-/@scopename/packagename-version.tgz
Artifactoryからスコープ付きnpmパッケージをインストールする
このパッケージをインストールしようとすると問題が発生します。私は404 Not Found: @scopename/packagename
を得る。デバッグログを見ると、スラッシュのエンコーディングと関係があることがわかります。
22 http request GET https://artifacts.company.com/artifactory/api/npm/npm-local/@scopename%2fpackagename
23 http 404 https://artifacts.company.com/artifactory/api/npm/npm-local/@scopename%2fpackagename
私はオンラインドキュメントに従っています。私はAllowEncodedSlashes NoDecode
を仮想ホストに追加し、org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
をtomcatのcatalina.propertiesファイルに追加しました。
何か不足していますか?
回答ありがとうございます。私はnginxではなくapacheを使用しています。 "/"または "%2F"で戻ってくるはずですか? –
"/"として返信する必要があります Nginxを使用していない場合でも、Apacheに同様の設定があるかどうかを確認してください。あなたはApacheからアーティファクトを実行しているかもしれませんが、ArtifactoryもデフォルトではNginxをリバースプロキシとして使用しています。 Apacheが両方を処理している場合は、同様の設定があるかどうかを確認してください。 – imthinhvu
%2Fのように見えるはずです –