Hello, I have two problems with running verdaccio in docker behind a proxy.
The problems are related to the proxy. On a proxy-free environment I get no errors.
The npm publish does not use the given proxy, even if I set them with export.
This is my first bugreport. I provide additional information if I forgot something.
npm ERR! code E503
npm ERR! 503 Service Unavailable - POST http://dockerhost:4873/-/v1/login
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\karimov\AppData\Roaming\npm-cache\_logs\2021-02-01T06_19_40_946Z-debug.log
The errorlog contains this:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'adduser',
1 verbose cli '--registry',
1 verbose cli 'http://dockerhost:4873'
1 verbose cli ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session f3b7ec0895a1d8b4
5 verbose web login before first POST
6 http fetch POST 503 http://dockerhost:4873/-/v1/login 98ms
7 verbose stack Error: 503 Service Unavailable - POST http://dockerhost:4873/-/v1/login
7 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-fetch\check-response.js:104:15
7 verbose stack at processTicksAndRejections (internal/process/task_queues.js:97:5)
8 verbose statusCode 503
9 verbose cwd C:\Users\karimov\repos\test\foo
10 verbose Windows_NT 10.0.17763
11 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "adduser" "--registry" "http://dockerhost:4873"
12 verbose node v13.11.0
13 verbose npm v6.13.7
14 error code E503
15 error 503 Service Unavailable - POST http://dockerhost:4873/-/v1/login
16 verbose exit [ 1, true ]
Running this command on the docker host or inside the container works as expected and adds an user.
Running this command npm publish --registry http://dockerhost:4873
on a client gives me this erroemessage
npm notice
npm notice package: [email protected]
npm notice === Tarball Contents ===
npm notice 217B package.json
npm notice === Tarball Details ===
npm notice name: foo
npm notice version: 1.0.0
npm notice package size: 249 B
npm notice unpacked size: 217 B
npm notice shasum: e72278c9011e7fe8525ecbede72b125ca9b1b7ba
npm notice integrity: sha512-ii7tBCPtqebDZ[...]W7ca6GQKG1n7g==
npm notice total files: 1
npm notice
npm ERR! code E503
npm ERR! 503 Service Unavailable - PUT http://dockerhost:4873/foo
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\karimov\AppData\Roaming\npm-cache\_logs\2021-02-01T06_32_01_416Z-debug.log
The errorlog contains this:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'publish',
1 verbose cli '--registry',
1 verbose cli 'http://dockerhost:4873'
1 verbose cli ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 8732b874168178f6
5 verbose publish [ '.' ]
6 info lifecycle [email protected]~prepublish: [email protected]
7 info lifecycle [email protected]~prepare: [email protected]
8 info lifecycle [email protected]~prepublishOnly: [email protected]
9 info lifecycle [email protected]~prepack: [email protected]
10 info lifecycle [email protected]~postpack: [email protected]
11 notice
12 notice package: [email protected]
13 notice === Tarball Contents ===
14 notice 217B package.json
15 notice === Tarball Details ===
16 notice name: foo
16 notice version: 1.0.0
16 notice package size: 249 B
16 notice unpacked size: 217 B
16 notice shasum: e72278c9011e7fe8525ecbede72b125ca9b1b7ba
16 notice integrity: sha512-ii7tBCPtqebDZ[...]W7ca6GQKG1n7g==
16 notice total files: 1
17 notice
18 http fetch PUT 503 http://dockerhost:4873/foo 70087ms attempt #3
19 verbose stack Error: 503 Service Unavailable - PUT http://dockerhost:4873/foo
19 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-fetch\check-response.js:104:15
19 verbose stack at processTicksAndRejections (internal/process/task_queues.js:97:5)
20 verbose statusCode 503
21 verbose pkgid [email protected]
22 verbose cwd C:\Users\karimov\repos\test\foo
23 verbose Windows_NT 10.0.17763
24 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "publish" "--registry" "http://dockerhost:4873"
25 verbose node v13.11.0
26 verbose npm v6.13.7
27 error code E503
28 error 503 Service Unavailable - PUT http://dockerhost:4873/foo
29 verbose exit [ 1, true ]
Running the same command on the docker host gives me this errormessage
npm ERR! publish Failed PUT 503
npm ERR! Linux 4.15.0-135-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "publish" "--registry" "http://dockerhost:4873"
npm ERR! node v8.10.0
npm ERR! npm v3.5.2
npm ERR! code E503
npm ERR! one of the uplinks is down, refuse to publish : foo
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /home/karimov/repos/foo/npm-debug.log
The errorlog contains this:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node',
1 verbose cli '/usr/bin/npm',
1 verbose cli 'publish',
1 verbose cli '--registry',
1 verbose cli 'http://dockerhost:4873' ]
2 info using [email protected]
3 info using [email protected]
4 verbose publish [ '.' ]
5 silly cache add args [ '.', null ]
6 verbose cache add spec .
7 silly cache add parsed spec Result {
7 silly cache add raw: '.',
7 silly cache add scope: null,
7 silly cache add name: null,
7 silly cache add rawSpec: '.',
7 silly cache add spec: '/home/karimov/repos/foo',
7 silly cache add type: 'directory' }
8 verbose addLocalDirectory /home/karimov/.npm/foo/1.0.0/package.tgz not in flight; packing
9 verbose makeDirectory /home/karimov/.npm creation not in flight; initializing
10 silly makeDirectory /home/karimov/.npm uid: 1005 gid: 1005
11 info lifecycle [email protected]~prepublish: [email protected]
12 silly lifecycle [email protected]~prepublish: no script for prepublish, continuing
13 verbose tar pack [ '/home/karimov/.npm/foo/1.0.0/package.tgz',
13 verbose tar pack '/home/karimov/repos/foo' ]
14 verbose tarball /home/karimov/.npm/foo/1.0.0/package.tgz
15 verbose folder /home/karimov/repos/foo
16 verbose addLocalTarball adding from inside cache /home/karimov/.npm/foo/1.0.0/package.tgz
17 silly cache afterAdd [email protected]
18 verbose afterAdd /home/karimov/.npm/foo/1.0.0/package/package.json not in flight; writing
19 verbose afterAdd /home/karimov/.npm/foo/1.0.0/package/package.json written
20 silly publish { name: 'foo',
20 silly publish version: '1.0.0',
20 silly publish description: '',
20 silly publish main: 'index.js',
20 silly publish scripts: { test: 'echo "Error: no test specified" && exit 1' },
20 silly publish keywords: [],
20 silly publish author: '',
20 silly publish license: 'ISC',
20 silly publish readme: 'ERROR: No README data found!',
20 silly publish _id: '[email protected]',
20 silly publish _shasum: '4878bc665f2ba803b045b914c663930bf6c6e6fe',
20 silly publish _from: '.' }
21 verbose getPublishConfig undefined
22 silly mapToRegistry name foo
23 silly mapToRegistry using default registry
24 silly mapToRegistry registry http://dockerhost:4873/
25 silly mapToRegistry uri http://dockerhost:4873/foo
26 verbose publish registryBase http://dockerhost:4873/
27 silly publish uploading /home/karimov/.npm/foo/1.0.0/package.tgz
28 verbose request uri http://dockerhost:4873/foo
29 verbose request sending authorization for write operation
30 info attempt registry request try #1 at 07:15:32
31 verbose request using bearer token for auth
32 verbose request id 60746a28f0d97b9b
33 http request PUT http://dockerhost:4873/foo
34 http 503 http://dockerhost:4873/foo
35 verbose headers { 'x-powered-by': 'verdaccio/4.11.0',
35 verbose headers 'access-control-allow-origin': '*',
35 verbose headers 'content-type': 'application/json; charset=utf-8',
35 verbose headers 'content-length': '38',
35 verbose headers etag: 'W/"26-je/beThLUgwK6tpu62XloIoLA50"',
35 verbose headers vary: 'Accept-Encoding',
35 verbose headers date: 'Mon, 01 Feb 2021 06:15:37 GMT',
35 verbose headers connection: 'keep-alive',
35 verbose headers 'keep-alive': 'timeout=5' }
36 info retry will retry, error on last attempt: Error: resource unavailable : foo
37 info attempt registry request try #2 at 07:15:47
38 verbose request using bearer token for auth
39 http request PUT http://dockerhost:4873/foo
40 http 503 http://dockerhost:4873/foo
41 verbose headers { 'x-powered-by': 'verdaccio/4.11.0',
41 verbose headers 'access-control-allow-origin': '*',
41 verbose headers 'content-type': 'application/json; charset=utf-8',
41 verbose headers 'content-length': '63',
41 verbose headers etag: 'W/"3f-IRHS2KBcwYn76TIXMS7/9Lk7ORg"',
41 verbose headers vary: 'Accept-Encoding',
41 verbose headers date: 'Mon, 01 Feb 2021 06:15:47 GMT',
41 verbose headers connection: 'keep-alive',
41 verbose headers 'keep-alive': 'timeout=5' }
42 info retry will retry, error on last attempt: Error: one of the uplinks is down, refuse to publish : foo
43 info attempt registry request try #3 at 07:16:47
44 verbose request using bearer token for auth
45 http request PUT http://dockerhost:4873/foo
46 http 503 http://dockerhost:4873/foo
47 verbose headers { 'x-powered-by': 'verdaccio/4.11.0',
47 verbose headers 'access-control-allow-origin': '*',
47 verbose headers 'content-type': 'application/json; charset=utf-8',
47 verbose headers 'content-length': '63',
47 verbose headers etag: 'W/"3f-IRHS2KBcwYn76TIXMS7/9Lk7ORg"',
47 verbose headers vary: 'Accept-Encoding',
47 verbose headers date: 'Mon, 01 Feb 2021 06:16:47 GMT',
47 verbose headers connection: 'keep-alive',
47 verbose headers 'keep-alive': 'timeout=5' }
48 verbose request invalidating /home/karimov/.npm/dockerhost_4873/foo on PUT
49 error publish Failed PUT 503
50 verbose stack Error: one of the uplinks is down, refuse to publish : foo
50 verbose stack at makeError (/usr/share/npm/node_modules/npm-registry-client/lib/request.js:264:12)
50 verbose stack at CachingRegistryClient.<anonymous> (/usr/share/npm/node_modules/npm-registry-client/lib/request.js:252:14)
50 verbose stack at Request._callback (/usr/share/npm/node_modules/npm-registry-client/lib/request.js:172:14)
50 verbose stack at Request.self.callback (/usr/share/npm/node_modules/request/request.js:198:22)
50 verbose stack at emitTwo (events.js:126:13)
50 verbose stack at Request.emit (events.js:214:7)
50 verbose stack at Request.<anonymous> (/usr/share/npm/node_modules/request/request.js:1082:10)
50 verbose stack at emitOne (events.js:121:20)
50 verbose stack at Request.emit (events.js:211:7)
50 verbose stack at IncomingMessage.<anonymous> (/usr/share/npm/node_modules/request/request.js:1009:12)
51 verbose statusCode 503
52 verbose pkgid foo
53 verbose cwd /home/karimov/repos/foo
54 error Linux 4.15.0-135-generic
55 error argv "/usr/bin/node" "/usr/bin/npm" "publish" "--registry" "http://dockerhost:4873"
56 error node v8.10.0
57 error npm v3.5.2
58 error code E503
59 error one of the uplinks is down, refuse to publish : foo
60 error If you need help, you may report this error at:
60 error <https://github.com/npm/npm/issues>
61 verbose exit [ 1, true ]
Running the command npm publish --registry http://localhost:4873
inside the container gives me this:
npm notice
npm notice package: [email protected]
npm notice === Tarball Contents ===
npm notice 218B package.json
npm notice === Tarball Details ===
npm notice name: temp
npm notice version: 1.0.0
npm notice package size: 250 B
npm notice unpacked size: 218 B
npm notice shasum: b1904764ec06b58ba45a76c095d25885321ce3e5
npm notice integrity: sha512-XZIBpV0NWkVkO[...]djmC73PL1E+/g==
npm notice total files: 1
npm notice
npm ERR! code E503
npm ERR! 503 Service Unavailable - PUT http://localhost:4873/temp - one of the uplinks is down, refuse to publish
npm ERR! A complete log of this run can be found in:
npm ERR! /opt/verdaccio/.npm/_logs/2021-02-01T10_54_22_348Z-debug.log
The errorlog contains this:
npm notice
npm notice package: [email protected]
npm notice === Tarball Contents ===
npm notice 218B package.json
npm notice === Tarball Details ===
npm notice name: temp
npm notice version: 1.0.0
npm notice package size: 250 B
npm notice unpacked size: 218 B
npm notice shasum: b1904764ec06b58ba45a76c095d25885321ce3e5
npm notice integrity: sha512-XZIBpV0NWkVkO[...]djmC73PL1E+/g==
npm notice total files: 1
npm notice
npm ERR! code E503
npm ERR! 503 Service Unavailable - PUT http://localhost:4873/temp - one of the uplinks is down, refuse to publish
npm ERR! A complete log of this run can be found in:
npm ERR! /opt/verdaccio/.npm/_logs/2021-02-01T11_04_12_130Z-debug.log
/opt/verdaccio/temp # cat /opt/verdaccio/.npm/_logs/2021-02-01T11_04_12_130Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli '/usr/local/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'publish',
1 verbose cli '--registry',
1 verbose cli 'http://localhost:4873'
1 verbose cli ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 8be2321d411d007c
5 verbose publish [ '.' ]
6 info lifecycle [email protected]~prepublish: [email protected]
7 info lifecycle [email protected]~prepare: [email protected]
8 info lifecycle [email protected]~prepublishOnly: [email protected]
9 info lifecycle [email protected]~prepack: [email protected]
10 info lifecycle [email protected]~postpack: [email protected]
11 notice
12 notice package: [email protected]
13 notice === Tarball Contents ===
14 notice 218B package.json
15 notice === Tarball Details ===
16 notice name: temp
16 notice version: 1.0.0
16 notice package size: 250 B
16 notice unpacked size: 218 B
16 notice shasum: b1904764ec06b58ba45a76c095d25885321ce3e5
16 notice integrity: sha512-XZIBpV0NWkVkO[...]djmC73PL1E+/g==
16 notice total files: 1
17 notice
18 http fetch PUT 503 http://localhost:4873/temp 70070ms attempt #3
19 verbose stack Error: 503 Service Unavailable - PUT http://localhost:4873/temp - one of the uplinks is down, refuse to publish
19 verbose stack at /usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:117:15
19 verbose stack at processTicksAndRejections (internal/process/task_queues.js:93:5)
20 verbose statusCode 503
21 verbose pkgid [email protected]
22 verbose cwd /opt/verdaccio/temp
23 verbose Linux 4.15.0-135-generic
24 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "publish" "--registry" "http://localhost:4873"
25 verbose node v14.15.4
26 verbose npm v6.14.10
27 error code E503
28 error 503 Service Unavailable - PUT http://localhost:4873/temp - one of the uplinks is down, refuse to publish
29 verbose exit [ 1, true ]
To Reproduce
I use this docker-compose.yml
to run verdaccio but it even happens if I use just the docker command docker run -d --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
version: '3.1'
services:
verdaccio:
image: verdaccio/verdaccio
container_name: "verdaccio"
environment:
- VERDACCIO_PORT=4873
ports:
- "4873:4873"
volumes:
- /docker/verdaccio/storage:/verdaccio/storage
- /docker/verdaccio/config:/verdaccio/conf
- /docker/verdaccio/plugins:/verdaccio/plugins
- /docker/verdaccio/logs:/verdaccio/logs
Run docker-compose up
result: error because the config.yaml
is missing.
I copied the content of this file into /docker/verdaccio/config/config.yaml verdaccio docker.yaml and added these two lines: http_proxy: http://myproxy:8080 https_proxy: http://myproxy:8080
Run docker-compose up
Result:
verdaccio is running and the website reachable
npm adduser --registry http://dockerhost:4873
is not running -> 503 error on a client, works only on the docker host and inside the container
npm publish --registry http://dockerhost:4873
is not running -> 503 on a client, 503 uplink is down on the docker host and inside the container
I also used your baseimage node:14.15.4-alpine and got the same error. I used about 10 other versions of node and I got no error. so I could identify that the error only happens in the image node:14.15.4-alpine.
I also tried to export https_proxy
and export http_proxy
without positiv result.
Expected behavior
i expect to run verdaccio with all its features in our environment with a configured proxy. maybe you could change the baseimage.
Configuration File ~/.config/verdaccio/config.yaml
/opt/verdaccio # cat /verdaccio/conf/config.yaml
# This is the config file used for the docker images.
# It allows all users to do anything, so don't use it on production systems.
# Do not configure host and port under `listen` in this file
# as it will be ignored when using docker.
# see https://verdaccio.org/docs/en/docker#docker-and-custom-port-configuration
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
# path to a directory with all packages
storage: /verdaccio/storage/data
# path to a directory with plugins to include
plugins: /verdaccio/plugins
# WebUI is enabled as default, if you want disable it, just uncomment this line
#enable: false
title: Verdaccio
# comment out to disable gravatar support
# gravatar: false
# by default packages are ordercer ascendant (asc|desc)
# sort_packages: asc
# darkMode: true
# translate your registry, api i18n not available yet
# i18n:
# list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations
# web: en-US
auth:
htpasswd:
file: /verdaccio/storage/htpasswd
# Maximum amount of users allowed to register, defaults to "+infinity".
# You can set this to -1 to disable registration.
# max_users: 1000
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
middlewares:
audit:
enabled: true
# log settings
logs:
- { type: stdout, format: pretty, level: http }
#- {type: file, path: verdaccio.log, level: info}
#experiments:
# # support for npm token command
# token: false
# # support for the new v1 search endpoint, functional by incomplete read more on ticket 1732
# search: false
# This affect the web and api (not developed yet)
#i18n:
#web: en-US
/opt/verdaccio # vim /verdaccio/conf/config.yaml
sh: vim: not found
/opt/verdaccio # vi /verdaccio/conf/config.yaml
/opt/verdaccio # cat /verdaccio/conf/config.yaml
# This is the config file used for the docker images.
# It allows all users to do anything, so don't use it on production systems.
# Do not configure host and port under `listen` in this file
# as it will be ignored when using docker.
# see https://verdaccio.org/docs/en/docker#docker-and-custom-port-configuration
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
# path to a directory with all packages
storage: /verdaccio/storage/data
# path to a directory with plugins to include
plugins: /verdaccio/plugins
# WebUI is enabled as default, if you want disable it, just uncomment this line
#enable: false
title: Verdaccio
# comment out to disable gravatar support
# gravatar: false
# by default packages are ordercer ascendant (asc|desc)
# sort_packages: asc
# darkMode: true
# translate your registry, api i18n not available yet
# i18n:
# list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations
# web: en-US
auth:
htpasswd:
file: /verdaccio/storage/htpasswd
# Maximum amount of users allowed to register, defaults to "+infinity".
# You can set this to -1 to disable registration.
# max_users: 1000
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
middlewares:
audit:
enabled: true
# log settings
logs:
- { type: stdout, format: pretty, level: http }
#- {type: file, path: verdaccio.log, level: info}
#experiments:
# # support for npm token command
# token: false
# # support for the new v1 search endpoint, functional by incomplete read more on ticket 1732
# search: false
# This affect the web and api (not developed yet)
#i18n:
#web: en-US
https_proxy: http://myproxy:8080
http_proxy: http://myproxy:8080
Environment information
~ $ bin/verdaccio --info
Environment Info:
System:
OS: Linux 4.15 Alpine Linux
CPU: (2) x64 Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
Binaries:
Node: 14.15.4 - /usr/local/bin/node
npm: 6.14.10 - /usr/local/bin/npm
Additional Docker Log
karimov@sauria:~$ docker logs verdaccio
warn --- config file - /verdaccio/conf/config.yaml
warn --- Verdaccio started
warn --- Plugin successfully loaded: verdaccio-htpasswd
warn --- Plugin successfully loaded: verdaccio-audit
warn --- http address - http://0.0.0.0:4873/ - verdaccio/4.11.0
http <-- 404, user: null(127.0.0.1), req: 'POST /-/v1/login', bytes: 27/150
(node:7) [DEP0106] DeprecationWarning: crypto.createCipher is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
http <-- 201, user: root(127.0.0.1), req: 'PUT /-/user/org.couchdb.user:root', bytes: 126/73
http <-- 304, user: null(192.168.43.83), req: 'GET /', bytes: 0/0
http <-- 304, user: null(192.168.43.83), req: 'GET /-/verdaccio/packages', bytes: 0/0
http <-- 200, user: root(192.168.43.83), req: 'POST /-/verdaccio/login', bytes: 41/345
http <-- 304, user: root(192.168.43.83), req: 'GET /-/verdaccio/packages', bytes: 0/0
http <-- 413, user: root(127.0.0.1), req: 'PUT /verdaccio', error: request entity too large
http <-- 304, user: null(192.168.43.83), req: 'GET /', bytes: 0/0
http <-- 304, user: root(192.168.43.83), req: 'GET /-/verdaccio/packages', bytes: 0/0
http --> ERR, req: 'GET https://registry.npmjs.org/temp', error: connect ECONNREFUSED 104.16.23.35:443
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http --> ERR, req: 'GET https://registry.npmjs.org/temp', error: connect ECONNREFUSED 104.16.19.35:443
warn --> host registry.npmjs.org is now offline
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http --> ERR, req: 'GET https://registry.npmjs.org/temp', error: connect ECONNREFUSED 104.16.18.35:443
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http --> ERR, req: 'GET https://registry.npmjs.org/temp', error: connect ECONNREFUSED 104.16.21.35:443
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http --> ERR, req: 'GET https://registry.npmjs.org/temp', error: connect ECONNREFUSED 104.16.18.35:443
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish
http <-- 503, user: root(127.0.0.1), req: 'PUT /temp', error: one of the uplinks is down, refuse to publish