Can't access Nexus proxy repository data - repository

Got Nexus Repository Manager OSS, where I set up a proxy repository to another Nexus (Professional edition). Routing information is Ok, appears as published and Discovery is successfull. I can browser remote repository, but nothing appears under Browser Index tab.
When I try accessing the repository via http (e.g. http://myserver.net/nexus/content/repositories/MyRepository/org/) - I receive this error:
404 - Request is marked as local-only, remote access not allowed from M2Repository
Did I miss something?

You can't retrieve a directory through a proxy repository, you need to send a request for an actual artifact file that exists on the remote, e.g. "http://myserver.net/nexus/content/repositories/MyRepository/org/foo/someproject/1.0/someproject-1.0.jar".

After researching a while, found that artifacts are indexed only after downloading them via Nexus server found in the middle, between me and remote Nexus.
As of error, causing it was a bad URL, unfortunately I miss-typed an artifact name in the URL address.

Related

Nexus is serving wrong npm package urls

I have sonatype nexus (configured as npm group of hosted repo and proxy repo) installed behind reverse proxy.
After last update to OSS 3.41.1-01 we have problems installing via npm install. For some reason url of the actual files (.tgz) are served with wrong url (its using internal ip and not selected domain). In actual json returned from repo tarball options has internal url instead of domain (Image of json from the repo).
As of now i can't found any reference to this kind of problem.
I know of only one hack solution with using rewriting url from upstream which I don't want be doing.
The tarball location is set by the incoming host headers. It it not clear how your reverse proxy is being used but you should be able to confirm that the Host header value is being set in the proxy configuration.
Sonatype provide apache and nginx examples for a few different use cases here. https://help.sonatype.com/repomanager3/planning-your-implementation/run-behind-a-reverse-proxy

Change git url in weblate

We have changed the server where our repositories are hosted. So now we have to change the url where weblate is pushing and pulling the changes from the repository.
We host Weblate ourselves and I am a weblate admin. Can you tell me where I can change the git url?
It's in Administration interface, Component settings, you can find that on /admin/trans/subproject/ URL.

Added repository to Nexus but still not finding artifacts

I have a project that uses the hl7api (HAPI) available at http://hl7api.sourceforge.net/m2
In my pom I have defined a repository with this url. If I don't go via local nexus it works but when I do it will not find the artifacts. I have added a proxy repository in Nexus with the same url.
Any ideas?
If you added the repository as a proxy repository in Nexus do not forget to add the proxy to the Repository Group which you use as mirror for all Nexus requests (public/snapshot) - assumed you have this kind of configuration.
Sorry - just saw that this solution was discussed as comment on the question. Can not delete the answer but it seems to be obsolete.

Unable to use Apache Archiva as Mirror

I think this was supposed to be a simple task, but I've been unable to accomplish it.
I've set an archiva repository as this:
2 Internal Maven1 repos (old projects)
1 Internal Maven2 repo
7 Remote repos (central, java.net, jboss.org, etc.)
For each internal repo I've created a proxy connection with each remote repo.
I've added a new mirror to my settings.xml file as explained in the archiva documentation:
<mirror>
<id>archiva.default</id>
<url>http://repo.mycompany.com:8080/archiva/repository/internal/</url>
<mirrorOf>*</mirrorOf>
</mirror>
When I try building a simple project with one dependency from some of the remote repositories, no artifacts are downloaded. Why?!?
Thanks for any help.
Archiva doesn't assign repositories any special roles. You make requests to specific managed repository from Maven (so from your settings, internal), and it will serve what is in there, or proxy it from remote repositories that have been connected by a proxy connector. By default, that is just Central - adding a new remote repository has no effect until it is connected to a managed repository by a proxy connector.
What you probably want to do is add a proxy connector on the internal repo to the remote repositories in question. Consider setting the whitelist too so that it is more effecient.
You may also want to set up a repository group that spans all the managed repositories (both maven 1 and maven 2) for use from a single URL.
I had exactly the same problem with Archiva 2, for me the solution was to give the "Global Repository Observer" role to the Guest user.

Failed to proxy to maven repo via Nexus

I am working with Nexus free addition (1.3.6) and I am trying to add a proxy repository as described in the Nexus book - Google Caja: http://google-caja.googlecode.com/svn/maven.
After adding a new proxy repository and configure the remote location, I tried to re-index the repository but could not see the related artifacts.
was anyone able to proxy a remote repository via Nexus and see its artifacts?
Ronen.
Well, according to the Nexus documentation about Remote Index Downloads:
Nexus ships with three important proxy
repositories for the Central Maven
Repository, Apache Snapshot
Repository, and the Codehaus Snapshot
Repository. Each of these repositories
contains thousands (or tens of
thousands) of artifacts and it would
be impractical to download the entire
contents of each. To that end, most
repositories maintain a Lucene index
which catalogs the entire contents and
provides for fast and efficient
searching. Nexus uses these remote
indexes to search for artifacts, but
we've disabled the index download as a
default setting. To download remote
indexes,
Click on Repositories under the Administration menu and change
Download Remote Indexes to true for
the three proxy repositories. You'll
need to load the dialog shown in
Figure 5.9, “Repository Configuration
Screen for a Proxy Repository” for
each of the three repositories.
Right-click on each proxy repository and select Re-index. This
will trigger Nexus to download the
remote index files.
It might take Nexus a few minutes to
download the entire index, but once
you have it, you'll be able to search
the entire contents of the Maven
repository.
Once you've enabled remote index
downloads, you still won't be able to
browse the complete contents of a
remote repository. Downloading the
remote index allows you to search for
artifacts in a repository, but until
you download those artifacts from the
remote repository they will not show
in the repository tree when you are
browsing a repository. When browsing a
repository, you will only be shown
artifacts which have been downloaded
from the remote repository.
So, to me, the proxyed remote repository has to provide a Nexus Index (which does not seem to be the case of the repository for Google Caja) to allow searching and searching is different from browsing (i.e. you'll still have to download artifacts to see them when browsing the repository). That being said, not providing an index doesn't mean the caja repository isn't proxied.