2016-11-29 5 views
2

Ich versuche, Bereich NPMPakete zu erhalten, mit Artifactory hinter Apache zu arbeiten. Ich kann ein Bereichspaket in Artifactory veröffentlichen und es erstellt den folgenden Pfad in dem lokalen Repo: @scopename/packagename/-/@scopename/packagename-version.tgzInstallation von Scoped NPM-Paketen von Artifactory

Meine Probleme auftreten, versuchen, dieses Paket zu installieren. Ich bekomme eine 404 Not Found: @scopename/packagename. Mit Blick auf die Debug-Log kann ich sehen vielleicht hat es etwas mit der Codierung der Schrägstriche zu tun:

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 

ich die Online-Dokumentation gefolgt. Ich habe AllowEncodedSlashes NoDecode zum virtuellen Host und org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true zur catalina.properties-Datei auf tomcat hinzugefügt.

Fehle ich etwas?

Antwort

2

Dies sieht wie ein Reverse-Proxy-Problem aus. Überprüfen Sie Ihre request.log. Wenn die Anfrage kommt ist als/api/npm/npm-Gruppe/@ angular/core anstelle von/api/npm/npm-Gruppe/@ angular% 2Fcore, das ist etwas, das in Ihrem Reverse-Proxy adressiert werden muss.

Sie haben zwei Dinge zu ändern: die Einstellung implementieren org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH = true und entfernt den Kontext Wurzel aus der proxy_pass Variable in /etc/nginx/conf.d /default.conf

+0

danke für die Antwort, ich benutze Apache nicht Nginx. Willst du damit sagen, dass es mit einem "/" oder "% 2F" kommen sollte? –

+0

Es sollte wieder als "/" kommen Auch wenn Sie nicht Nginx verwenden, sehen Sie, ob es eine ähnliche Einstellung in Apache gibt. Sie können Artefakte von Apache ausführen, aber Artifactory verwendet Nginx standardmäßig auch als Reverse Proxy. Wenn Apache beide behandelt, dann überprüfen Sie, ob es eine ähnliche Einstellung gibt. – imthinhvu

+0

sollte es den ganzen Weg wie% 2F aussehen –

Verwandte Themen