Skip to main content

Set up the SSL Certificates

Follow these instructions to configure an SSL certificate to serve an npm registry over HTTPS.

  • Update the listen property in your ~/.config/verdaccio/config.yaml:
listen: 'https://your.domain.com/'

Once you've updated the listen property and try to run verdaccio again, it will ask for certificates.

  • Generate your certificates
$ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048
$ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem
$ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem
  • Edit your config file /Users/user/.config/verdaccio/config.yaml and add the following section:
https:
key: /Users/user/.config/verdaccio/verdaccio-key.pem
cert: /Users/user/.config/verdaccio/verdaccio-cert.pem
ca: /Users/user/.config/verdaccio/verdaccio-csr.pem

Alternatively, if you have a certificate with the server.pfx format, you can add the following configuration section: (The passphrase is optional and only needed if your certificate is encrypted.)

https:
pfx: /Users/user/.config/verdaccio/server.pfx
passphrase: 'secret'

You can find more info on the key, cert, ca, pfx, and passphrase arguments in the Node documentation

  • Run verdaccio in your command line.

  • Open the browser and visit https://your.domain.com:port/

These instructions are mostly valid under OSX and Linux; on Windows the paths will vary, but the steps are the same.

Docker​

If you are using the Docker image, you have to set the VERDACCIO_PROTOCOL environment variable to https, as the listen argument is provided by the image's CMD and thus overrides the listen entry of your config file.

You can also set the VERDACCIO_PORT environment variable if you are using a port other than 4873.