Automatic routing filter rejected remote request - Nexus

I am trying to get netty-codec-hhtp in my maven project. I have a completely standard Sonatype Nexus configured for Maven Central proxy requests.

<dependency> <groupId>io.netty</groupId> <artifactId>netty-codec-http</artifactId> <version>4.0.9.Final</version> </dependency> 

This fails when created using maven. If I search for it manually in Nexus, I find it, but if I go to load the jar, it will tell me:

 404 - Not Found Automatic routing filter rejected remote request for path /io/netty/netty-codec-http/4.0.9.Final/netty-codec-http-4.0.9.Final.jar from M2Repository(id=central) 

What does this mean, why am I getting it and, more importantly, how to fix it? I am using Nexus 2.5.0-04 with Maven 3.0.4

Downloading other artifacts seems to work very well.

+8
maven nexus netty
source share
3 answers

UPDATE: This turned out to be a problem with the CDN configuration, which now needs to be resolved. The following steps to force and / or disable remote discovery are for reference.

This means that Automatic Routing for Central is active and that the detected rules do not contain io.jetty as a permitted prefix.

This should not happen, as the default setting should update the rules daily (as shown in the screenshot below, showing the default automatic routing configuration for Central).

The tool is either a forced update of the rules (I checked that the /io prefix is ​​one of the rules published by Central), or completely disables remote discovery.

Try the steps below in the screenshot:

Screen shot

+13
source share

From Managing repositories with Nexus - 6.4. Routing Management :

Routing can be seen as an internal Nexus activity to determine where to look for a specific component in the Maven repository. Routing information affects component search performance, as well as determining component availability.
(...)
Automatic routing is handled by Nexus based on each repository.
(...)
Routing information consists of the top two levels of the repository directory structure and is stored in the prefixes.txt file. It allows Nexus to automatically route only the details of components with the corresponding groupId values ​​in the repository in order to avoid unnecessary access to the index or even to the remote repository.

Since the Maven central repo contains this artifact, I assume that automatic routing rules prohibit remote loading for this artifact. The above error message also suggests.

You can read how to add a routing rule in 6.4.2. Manual routing settings . If my assumption is correct, this situation can be solved by adding the inclusive rule type with the route ^/io/netty/.* for the central repo.

+1
source share

I encountered the same problem when I set up a bridge between two Nexus .

In the first:

  • I added 2 proxy repo, targeting 2 public repo groups to the second,
  • then aggregate these 2 proxy repositories in a new group,
  • which I finally added to the repo list of the first Nexus public repo group.

Using the first Nexus, every time I requested a dependency that was present only in the second, I came across an Automatic routing filter rejected remote request for path... exception.

As Tamas mentioned, this problem comes from the Routing >> Discovery function, which was included in my 2 proxy repositories that were targeted at remote groups of the Nexus repository . After shutdown, the problem was resolved .

An exact explanation of this need is described in the official Sonatype documentation for Managing Repositories with Nexus , in chapter 6.4.1 “Automatic Routing”:

The Routing tab for the proxy repository shown in Fig. 6.18, “Automatic Routing for the Proxy Repository” contains the Opening section . It displays the status and more detailed message about the file access prefix. The Last run field displays the date and time the last time the prefix file was opened. This execution can be started by clicking the "Update Now" button. Otherwise, the Interval update allows you to start a new opening every two, three, six, nine or twelve hours, or daily or weekly execution.

[...]

For the proxy repository, the prefix file is downloaded from the remote repository, or a generation is trying to clear the remote repository. This generation does not attempt to use remote Nexus storage groups because they are too dynamic in nature and should not be proxied directly . Scrambling hosted or proxy repositories since Subversion-based repositories are supported.

Regards, Thomas

+1
source share

All Articles