Proxy GitHub with Go

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

Go Proxy Best Practice: Add Mirror Repository

We highly recommend that you create a remote repository pointing to the default go mirror (gocenter.io) and enter Artifactory as the Git provider. This way, Artifactory will be able to resolve cached public modules without querying the external registry, reducing the chance of rate limiting. For more information, see Set Up Go Proxy Mirror Repositories.

To create a Remote Repository which serves as a caching proxy for github.com, follow the steps below:

  1. Create a new remote repository and set Go to be its Package Type.

  2. Set the Repository Key value, and enter https://github.com/ in the URL field as displayed below.

  3. In the Go Settings set the Git Provider as GitHub.

    Note

    When using a remote repository that implements Go API Specification, use Artifactory as the Git provider. For example, to set up a remote registry opposite proxy.golang.org, use Artifactory as the Git provider.

  4. In the Basic tab, enter the username and password of your GitHub account. This is required due to a rate limit imposed by GitHub when access is anonymous.

    From November 2020, GitHub no longer accepts account passwords when authenticating via the REST API

    As per the latest GitHub update, basic authentication is no longer supported via REST API. Your password must be replaced with a GitHub private access token.

  5. In the Advanced tab, check Lenient Host Authentication.

  6. Click Save & Finish.

githubproxy.png