ARTIFACTORY: Allowlist for Artifactory Cargo Remote Repository to Proxy crates.io Behind Firewalls or Proxy Servers
Introduction
When used as a Cargo Remote Repository to proxy crates.io, Artifactory must be able to reach the required upstream Cargo registry endpoints.
If Artifactory is deployed behind firewalls or proxy servers, and following domains are not allowed, the dependency resolution or crate downloading may fail.
Resolution
Allow outbound HTTPS access to the following addresses:
|
Address |
Protocol / Port |
Purpose |
|
index.crates.io |
HTTPS / 443 |
Cargo Sparse Index endpoint used to retrieve crates.io index and dependency metadata. |
|
static.crates.io |
HTTPS / 443 |
Crate package download endpoint used to download actual .crate package files. |
|
crates.io |
HTTPS / 443 |
crates.io API / web service endpoint used for API, query, publish, and related operations. |
You can verify the current crates.io index configuration with:
curl https://index.crates.io/config.json
Example response:{
"dl": "https://static.crates.io/crates",
"api": "https://crates.io"
}
The dl field indicates the crate download endpoint, and the api field indicates the crates.io API endpoint.
Notes
Do not whitelist only index.crates.io, because crate downloads may be served from a different host such as static.crates.io.
If Artifactory uses an outbound proxy, make sure the proxy also allows those domains over HTTPS port 443.