# Configurable Repository Fields

The sections below provide details on different configurations you can make when you create a new repository or open an existing repository's management view (i.e. when you select it from the list of created repositories).

Available configurations vary depending on repository type and format.

- #### Name

The _Name_ is the identifier that will be used in the URL for access to the repository. For example, the proxy repository for the Central Repository is named "maven-central." The _Name_ must be unique in a given Nexus Repository instance and is required.

- #### Format

A repository's format is the format in which Nexus Repository exposes the repository to external tools. Examples include docker, npm, go, pypi, etc.

See [Formats](https://help.sonatype.com/en/formats.html "Formats")

- #### Type

The repository type field indicates whether this is a hosted, proxy, or group repository.

See [Repository Types](https://help.sonatype.com/en/repository-types.html "Repository Types")

- #### URL

The _URL_ field displays the user-facing URL for this repository. Maven and other tools can access the repository directly at that URL (e.g., `http://localhost:8081/repository/maven-central`).

- #### Online Checkbox

The _Online_ checkbox allows you to define whether or not a given repository is available to client-side tools. Check the checkbox to make the repository available; de-select the checkbox to make it unavailable.

- #### Blob Store

The _Blob store_ field indicates which blob store among your available blob stores this repository will use to store its binary parts.

See [Storage Guide](https://help.sonatype.com/en/storage-guide.html "Storage Guide")

- #### Strict Content Type Validation

When the _Strict Content Type Validation_ checkbox is checked, validation will check that the MIME type of all files published into the repository conforms to the allowed types for that specific repository format.

- #### Cleanup Policies

Cleanup policies control disk space by removing unused items. Nexus Repository applies the selected cleanup policies to the repository to delete components that match the criteria. Use the arrow controls to associate one or more cleanup policies to the applied section.

See [Cleanup Policies](https://help.sonatype.com/en/cleanup-policies.html "Cleanup Policies")

- #### Deployment Policy

Controls how the repository allows or disallows component deployment in hosted repositories.

- **Disable redeploy** (default value) - A client can only deploy a particular component once; any attempt to deploy a component again will result in an error.
  - **Allow redeploy** - Clients can deploy components to this repository and overwrite the same component in subsequent deployments.
  - **Read-only** - No deployment allowed.

- #### Remote Storage

The Remote Storage field is only available for proxy repositories. This field contains the URL for the remote repository that this repository will proxy. As a best practice, avoid proxying remote repository groups as this can impact performance optimization. Instead, create multiple proxy repositories that each proxy the different hosted repositories that make up the group instead of proxying the group itself.

- #### Preserving Encoded Characters

New in 3.94 The _Preserve Encoded Characters_ allows you to either retain the encoded characters in their encoded form. By default, the checkbox is unselected. This works for most proxy repositories, including `crates.io` and Cargo registries, which expect literal `+` characters. But when the checkbox is selected, Nexus Repository keeps encoded characters such as `%2B` (plus), `%23` (hash), and `%20` (space) in their encoded form when proxying requests to a remote repository. This is commonly needed for remote repositories backed by services such as AWS S3, Cloudflare CDN, or Azure Blob Storage.

You can also enable this option if proxy requests to a trusted remote repository fail with `403 Forbidden` or `404 Not Found` for files that include special characters, such as `+`, in their names.

For repository-specific customization, it acts as the primary on/off switch for two-stage URL encoding. see [Global URL Escaping Behaviour](https://help.sonatype.com/en/configuring-the-runtime-environment.html#global-url-escaping-behaviour "Global URL Escaping Behaviour") for customizing repository specific behaviour.

- #### Use the Nexus Repository Truststore

Available for proxy repositories that use an HTTPS URL. When enabled, Nexus Repository manages the remote repository's SSL certificate. Select the _View certificate_ button to view SSL certificate details and, optionally, add or remove the certificate from the truststore that Nexus Repository maintains.

See Outbound SSL - Trusting SSL Certificates of Remote Repositories

- #### Blocked

The _Blocked_ checkbox configuration is only available for proxy repositories. Check this box to prevent Nexus Repository from sending outbound requests to the remote repository.

- #### Auto Blocking Enabled

The _auto-blocking enabled_ field is only available for proxy repositories. When enabled, Nexus Repository automatically blocks the proxy repository if the remote repository becomes unavailable. While a proxy repository is blocked, components will still be served to clients from a local cache, but Nexus Repository will not attempt to locate a component in a remote repository. Nexus Repository periodically retests the remote repository and unblocks the proxy once the remote becomes available.

- #### Maximum Component Age

_Maximum component age_ is only applicable for proxy repositories. When the server receives a request for a component, the remote repository is not checked for a modified version of the component until the cached component is older than the number of minutes configured in this field. The default value of 1440 ensures that new version information is updated daily.

In most cases, components are considered immutable and should not change. Setting the value to -1 to disable checking the remote repository for redeployed components. A value of 0 forces a check for changes on every request.

- #### Maximum Metadata Age

_Maximum metadata age_ is only available for proxy repositories. Nexus Repository will only retrieve metadata updates from the remote repository after the number of minutes configured in this field. For component metadata, Nexus Repository honors whichever value between _Maximum component age_ and _Maximum metadata age_ is greater before rechecking.

- #### Negative Cache: Not Found Cache Enabled and Not Found Cache TTL

The _Not found cache enabled_ checkbox and _Not found cache TTL_ (Time-to-Live) fields sets the number of minutes (1440 minutes or 24 hours by default) Nexus Repository will cache this result before attempting another request for the missing component.

**Setting the Negative Cache**

Public proxy repositories respond with the HTTP status code "`404 Not Found`" when their index does not contain the requested component at the time of the request. Nexus Repository should be configured to cache these results rather than spamming repeating requests for the missing components. This limits outgoing traffic to the remote and protects subsequent requests from being rate limited or blocked by the public repository. Review the proxy repository's policies when adjusting from the default value.

You may adjust the default to a lower value when new versions are frequently published to the remote proxy. This can be useful for when proxying remote Nexus Repository instances managed by your organization. Disabling the cache checks the upstream repository every time a request is made and will impact performance.

- #### HTTP Authentication

The HTTP configuration section is available for proxy repositories to provide credentials when required by the remote repository.

See [HTTP and HTTPS Request and Proxy Settings](https://help.sonatype.com/en/http-request-and-proxy-settings.html "HTTP Request and Proxy Settings")

- #### Preemptive Authentication

Used to send credentials with outbound requests to a known remote servers that require authentication with every request. We recommend to only use this when absolutely necessary. Enabling this option means configured authentication credentials are sent to the remote URL regardless of whether the remote server has asked for them or not.

This option is disabled by default when the form is not currently valid, such as when the remote URL has not yet been provided.

- #### HTTP Request Settings

The HTTP request settings section is available for proxy repositories. Changes made to _HTTP request settings_ are applied to all HTTP requests that Nexus Repository makes to the remote repository being proxied. Enabling these settings at the repository level will override any general settings.

See [HTTP and HTTPS Request and Proxy Settings](https://help.sonatype.com/en/http-request-and-proxy-settings.html "HTTP Request and Proxy Settings")

You can make the following configurations to HTTP request settings:

- _User-agent customization_ - Enter a string to append to user-agent HTTP headers.
  - _Connection retries_ - Enter the total number of connection attempts after an initial timeout.
  - _Connection timeout_ - Set the timeout interval (in seconds) for requests.
  - _Enable circular redirects_ - Allow proxy repositories to follow redirects indicated by the remote server even if they point to an already processed URL.
  - _Enable cookies_ - Authorize using HTTP cookies sent by the remote server when processing future requests.

`https://maven.oracle.com` is a server that requires both _Enable circular redirects_ and _Enable cookies_. When requesting data, you are redirected to a queue of different URLs; most of these are involved with authentication.

By enabling these options, you allow Nexus Repository to maintain the authentication state in a cookie that would be sent with each request, eliminating the need for authentication-related redirects and avoiding timeouts.

- #### Proprietary Components

The Proprietary Components field is only available for hosted repositories and requires integration with Sonatype Repository Firewall. Checking this box tells Nexus Repository and Repository Firewall that components in this repository should be considered as proprietary for namespace conflict attacks. If you are unsure if your repository contains public open-source components, do not enable this feature.

See [Namespace Confusion Protection](https://help.sonatype.com/en/namespace-confusion-protection.html)

- #### Group Member Repositories

The _Group_ section and _Member Repositories_ configuration are only available for group repositories. The _Member Repositories_ selector allows you to add and remove repositories to and from the repository group. The _Members_ column lists all of the group member repositories. The _Available_ column lists all repositories and repository groups that you could potentially add to the group.

#### Add or Remove a Repository to or from a Group

To add or remove a repository to the group, either drag the repository from whichever column it is into the new column in which you want it to appear, or select the repository and use the arrows that appear between the two columns to move the repository.

#### Repository Order in the Group Member List

The order of the repositories listed in the _Member_ section is important. When Nexus Repository searches for a component in a repository group, it will return the first match. To reorder a repository in this list, click and drag the repositories and groups in the _Members_ list or use the arrow buttons between the _Available_ and _Members_ list.

The order of repositories or other groups in a group can be used to influence the effective metadata that will be retrieved from a repository group. It is recommended best practice to put hosted repositories higher in the list than proxy repositories. For proxy repositories, Nexus Repository may need to check the remote repository, which will incur more overhead than a hosted repository lookup.

It is also recommended to place repositories with a higher probability of matching the majority of components higher in this list for best performance. These best practices are implemented in the default configuration.

## Format-Specific Configurations

Some repository formats include additional configuration options:

## Search results

No results found
