Skip to content

Base64 URL Configuration

Base64 URL is used when OSA Proxy Go must receive repository manager context from the request URL. This is needed for policies bound to a specific repository manager and repository name when the upstream in osa-proxy.yml points directly to a public registry.

Enable this mode for a repository with url-encoded-config: true:

npm:
  enabled: true
  repository:
    - name: npm
      registry: https://registry.npmjs.org
      scan-manifest: true
      scan-package: true
      url-encoded-config: true

The Base64 parameter is placed immediately after the repository name:

https://<osa-proxy-url>/<repository-name>/<base64-parameters>/<path...>

The encoded JSON contains repository context:

{"repoManagerHost":"https://nexus.example.com","repoName":"npm-proxy"}

Example URL:

https://osa-proxy.example.com/npm/eyJyZXBvTWFuYWdlckhvc3QiOiJodHRwczovL25leHVzLmV4YW1wbGUuY29tIiwicmVwb05hbWUiOiJucG0tcHJveHkifQ/lodash

Docker does not use this mechanism in the client URL: Docker Registry API v2 works through /v2/... and GET /token.

Страница была полезна?