[GH-ISSUE #23] Issue proxying data when server is not used after x time trying to get new voucher #5

Closed
opened 2026-05-07 00:17:09 +02:00 by BreizhHardware · 4 comments

Originally created by @aroundmyroom on GitHub (Jan 1, 2023).
Original GitHub issue: https://github.com/glenndehaan/unifi-voucher-site/issues/23

First of all: happy new year.

Description of issue:
when using a proxy server like ngnix proxy manager (to be able to serve https) the following will happen:
if you start using the server/application all is fine you get the validation screen, can enter your password but here things can go sideways; or it is giving an bad gateway or it is just working fine. Mostly the first time I get a bad gateway, possibly to the fact that the server keeps everything in cache / memory / browser? Because: reload the page and all is working fine and I get the voucher code.

To break down:

Many times at the first try when using ie. from iPad or iPone I always get an ' openresty - bad gateway error 502 from nginx proxy manager telling me that the upstream server did close the connection. Trying to set all kinds of proxy related nginx changes did not change this behaviour. Hence to say that all other servers through proxy manager are working fine.

So there must be something causing the proxy manager to tell me that there is an issue.

So I went back to the server with the voucher application:

Here I see in the log following:

You might find a fix. If not, the work around is to reload the page, but actually it should not show this behaviour ;)

`Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /
Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /dist/style.css
Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /images/bg-5.jpg
Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /manifest.json
Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /images/unifi-icon.png
Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /images/favicon.ico
Jan 1 10:25:30 voucher server.sh[37877]: [Web]: /
Jan 1 10:25:30 voucher server.sh[37877]: [Web]: /voucher?code=0000&type=480,0,,,
Jan 1 10:25:31 voucher server.sh[37877]: [AxiosError: Request failed with status code 401] {
Jan 1 10:25:31 voucher server.sh[37877]: code: 'ERR_BAD_REQUEST',

The probem is: the code / type is ok, so why is it giving status 401 ?
I think, but can be wrong it is using an incorrect token from the Unifi application

Jan 1 10:25:31 voucher server.sh[37877]: config: {
Jan 1 10:25:31 voucher server.sh[37877]: transitional: {
Jan 1 10:25:31 voucher server.sh[37877]: silentJSONParsing: true,
Jan 1 10:25:31 voucher server.sh[37877]: forcedJSONParsing: true,
Jan 1 10:25:31 voucher server.sh[37877]: clarifyTimeoutError: false
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: adapter: [Function: httpAdapter],
Jan 1 10:25:31 voucher server.sh[37877]: transformRequest: [ [Function: transformRequest] ],
Jan 1 10:25:31 voucher server.sh[37877]: transformResponse: [ [Function: transformResponse] ],
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(async_id_symbol)]: 1968,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kHandle)]: [TLSWrap],
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(lastWriteQueueSize)]: 0,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(timeout)]: null,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBuffer)]: null,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBufferCb)]: null,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBufferGen)]: null,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kSetNoDelay)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kSetKeepAlive)]: true,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kSetKeepAliveInitialDelay)]: 60,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesRead)]: 0,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesWritten)]: 0,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(connect-options)]: [Object]
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: _header: 'GET /proxy/network/api/stat/sites HTTP/1.1\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Accept: application/json, text/plain, /\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'x-csrf-token: 720eb0bd-e19d-xxxx-xxxx-ddcc125ec067\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'User-Agent: axios/0.27.2\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Host: 192.168.1.1\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Cookie: TOKEN=[modified and removed the token]\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Connection: close\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: '\r\n',
Jan 1 10:25:31 voucher server.sh[37877]: _keepAliveTimeout: 0,
Jan 1 10:25:31 voucher server.sh[37877]: _onPendingData: [Function: nop],
Jan 1 10:25:31 voucher server.sh[37877]: agent: CookieAgent {
Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype],
Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 2,
Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: defaultPort: 443,
Jan 1 10:25:31 voucher server.sh[37877]: protocol: 'https:',
Jan 1 10:25:31 voucher server.sh[37877]: options: [Object: null prototype],
Jan 1 10:25:31 voucher server.sh[37877]: requests: [Object: null prototype] {},
Jan 1 10:25:31 voucher server.sh[37877]: sockets: [Object: null prototype],
Jan 1 10:25:31 voucher server.sh[37877]: freeSockets: [Object: null prototype] {},
Jan 1 10:25:31 voucher server.sh[37877]: keepAliveMsecs: 1000,
Jan 1 10:25:31 voucher server.sh[37877]: keepAlive: false,
Jan 1 10:25:31 voucher server.sh[37877]: maxSockets: Infinity,
Jan 1 10:25:31 voucher server.sh[37877]: maxFreeSockets: 256,
Jan 1 10:25:31 voucher server.sh[37877]: scheduling: 'lifo',
Jan 1 10:25:31 voucher server.sh[37877]: maxTotalSockets: Infinity,
Jan 1 10:25:31 voucher server.sh[37877]: totalSocketCount: 1,
Jan 1 10:25:31 voucher server.sh[37877]: maxCachedSessions: 100,
Jan 1 10:25:31 voucher server.sh[37877]: _sessionCache: [Object],
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(cookieOptions)]: [Object]
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: socketPath: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: method: 'GET',
Jan 1 10:25:31 voucher server.sh[37877]: maxHeaderSize: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: insecureHTTPParser: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: path: '/proxy/network/api/stat/sites',
Jan 1 10:25:31 voucher server.sh[37877]: _ended: true,
Jan 1 10:25:31 voucher server.sh[37877]: res: IncomingMessage {
Jan 1 10:25:31 voucher server.sh[37877]: _readableState: [ReadableState],
Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype],
Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 4,
Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: socket: [TLSSocket],
Jan 1 10:25:31 voucher server.sh[37877]: httpVersionMajor: 1,
Jan 1 10:25:31 voucher server.sh[37877]: httpVersionMinor: 1,
Jan 1 10:25:31 voucher server.sh[37877]: httpVersion: '1.1',
Jan 1 10:25:31 voucher server.sh[37877]: complete: true,
Jan 1 10:25:31 voucher server.sh[37877]: rawHeaders: [Array],
Jan 1 10:25:31 voucher server.sh[37877]: rawTrailers: [],
Jan 1 10:25:31 voucher server.sh[37877]: aborted: false,
Jan 1 10:25:31 voucher server.sh[37877]: upgrade: false,
Jan 1 10:25:31 voucher server.sh[37877]: url: '',
Jan 1 10:25:31 voucher server.sh[37877]: method: null,
Jan 1 10:25:31 voucher server.sh[37877]: statusCode: 401,
Jan 1 10:25:31 voucher server.sh[37877]: statusMessage: 'Unauthorized',

Here it tells me already Unauthorized

Jan 1 10:25:31 voucher server.sh[37877]: client: [TLSSocket],
Jan 1 10:25:31 voucher server.sh[37877]: _consuming: false,
Jan 1 10:25:31 voucher server.sh[37877]: _dumped: false,
Jan 1 10:25:31 voucher server.sh[37877]: req: [Circular *1],
Jan 1 10:25:31 voucher server.sh[37877]: responseUrl: 'https://192.168.1.1/proxy/network/api/stat/sites',
Jan 1 10:25:31 voucher server.sh[37877]: redirects: [],
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kHeaders)]: [Object],
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kHeadersCount)]: 28,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kTrailers)]: null,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kTrailersCount)]: 0
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: aborted: false,
Jan 1 10:25:31 voucher server.sh[37877]: timeoutCb: null,
Jan 1 10:25:31 voucher server.sh[37877]: upgradeOrConnect: false,
Jan 1 10:25:31 voucher server.sh[37877]: parser: null,
Jan 1 10:25:31 voucher server.sh[37877]: maxHeadersCount: null,
Jan 1 10:25:31 voucher server.sh[37877]: reusedSocket: false,
Jan 1 10:25:31 voucher server.sh[37877]: host: '192.168.1.1',
Jan 1 10:25:31 voucher server.sh[37877]: protocol: 'https:',
Jan 1 10:25:31 voucher server.sh[37877]: _implicitHeader: [Function (anonymous)],
Jan 1 10:25:31 voucher server.sh[37877]: emit: [Function (anonymous)],
Jan 1 10:25:31 voucher server.sh[37877]: _redirectable: Writable {
Jan 1 10:25:31 voucher server.sh[37877]: _writableState: [WritableState],
Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype],
Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 3,
Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: _options: [Object],
Jan 1 10:25:31 voucher server.sh[37877]: _ended: true,
Jan 1 10:25:31 voucher server.sh[37877]: _ending: true,
Jan 1 10:25:31 voucher server.sh[37877]: _redirectCount: 0,
Jan 1 10:25:31 voucher server.sh[37877]: _redirects: [],
Jan 1 10:25:31 voucher server.sh[37877]: _requestBodyLength: 0,
Jan 1 10:25:31 voucher server.sh[37877]: _requestBodyBuffers: [],
Jan 1 10:25:31 voucher server.sh[37877]: _onNativeResponse: [Function (anonymous)],
Jan 1 10:25:31 voucher server.sh[37877]: _currentRequest: [Circular *1],
Jan 1 10:25:31 voucher server.sh[37877]: _currentUrl: 'https://192.168.1.1/proxy/network/api/stat/sites',
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesWritten)]: 0,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kEndCalled)]: true,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kNeedDrain)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(corked)]: 0,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kOutHeaders)]: [Object: null prototype] {
Jan 1 10:25:31 voucher server.sh[37877]: accept: [Array],
Jan 1 10:25:31 voucher server.sh[37877]: 'x-csrf-token': [Array],
Jan 1 10:25:31 voucher server.sh[37877]: 'user-agent': [Array],
Jan 1 10:25:31 voucher server.sh[37877]: host: [Array],
Jan 1 10:25:31 voucher server.sh[37877]: cookie: [Array]
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(errored)]: null,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kUniqueHeaders)]: null
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: response: {
Jan 1 10:25:31 voucher server.sh[37877]: status: 401,
Jan 1 10:25:31 voucher server.sh[37877]: statusText: 'Unauthorized',

Jan 1 10:25:31 voucher server.sh[37877]: headers: {
Jan 1 10:25:31 voucher server.sh[37877]: vary: 'Origin',
Jan 1 10:25:31 voucher server.sh[37877]: 'x-dns-prefetch-control': 'off',
Jan 1 10:25:31 voucher server.sh[37877]: 'x-frame-options': 'SAMEORIGIN',
Jan 1 10:25:31 voucher server.sh[37877]: 'strict-transport-security': 'max-age=15552000; includeSubDomains',
Jan 1 10:25:31 voucher server.sh[37877]: 'x-download-options': 'noopen',
Jan 1 10:25:31 voucher server.sh[37877]: 'x-content-type-options': 'nosniff',
Jan 1 10:25:31 voucher server.sh[37877]: 'x-xss-protection': '1; mode=block',
Jan 1 10:25:31 voucher server.sh[37877]: 'accept-ranges': 'bytes',
Jan 1 10:25:31 voucher server.sh[37877]: 'x-response-time': '12ms',
Jan 1 10:25:31 voucher server.sh[37877]: 'set-cookie': [Array],
Jan 1 10:25:31 voucher server.sh[37877]: 'content-type': 'text/plain; charset=utf-8',
Jan 1 10:25:31 voucher server.sh[37877]: 'content-length': '12',
Jan 1 10:25:31 voucher server.sh[37877]: date: 'Sun, 01 Jan 2023 10:25:31 GMT',
Jan 1 10:25:31 voucher server.sh[37877]: connection: 'close'
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: config: {
Jan 1 10:25:31 voucher server.sh[37877]: transitional: [Object],
Jan 1 10:25:31 voucher server.sh[37877]: adapter: [Function: httpAdapter],
Jan 1 10:25:31 voucher server.sh[37877]: transformRequest: [Array],
Jan 1 10:25:31 voucher server.sh[37877]: transformResponse: [Array],
Jan 1 10:25:31 voucher server.sh[37877]: timeout: 0,
Jan 1 10:25:31 voucher server.sh[37877]: xsrfCookieName: 'XSRF-TOKEN',
Jan 1 10:25:31 voucher server.sh[37877]: xsrfHeaderName: 'X-XSRF-TOKEN',
Jan 1 10:25:31 voucher server.sh[37877]: maxContentLength: -1,
Jan 1 10:25:31 voucher server.sh[37877]: maxBodyLength: -1,
Jan 1 10:25:31 voucher server.sh[37877]: env: [Object],
Jan 1 10:25:31 voucher server.sh[37877]: validateStatus: [Function: validateStatus],
Jan 1 10:25:31 voucher server.sh[37877]: headers: [Object],
Jan 1 10:25:31 voucher server.sh[37877]: httpAgent: [CookieAgent],
Jan 1 10:25:31 voucher server.sh[37877]: httpsAgent: [CookieAgent],
Jan 1 10:25:31 voucher server.sh[37877]: url: 'https://192.168.1.1/proxy/network/api/stat/sites',
Jan 1 10:25:31 voucher server.sh[37877]: method: 'get',
Jan 1 10:25:31 voucher server.sh[37877]: data: null
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: request: <ref *1> ClientRequest {
Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype],
Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 7,
Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: outputData: [],
Jan 1 10:25:31 voucher server.sh[37877]: outputSize: 0,
Jan 1 10:25:31 voucher server.sh[37877]: writable: true,
Jan 1 10:25:31 voucher server.sh[37877]: destroyed: false,
Jan 1 10:25:31 voucher server.sh[37877]: _last: true,
Jan 1 10:25:31 voucher server.sh[37877]: chunkedEncoding: false,
Jan 1 10:25:31 voucher server.sh[37877]: shouldKeepAlive: false,
Jan 1 10:25:31 voucher server.sh[37877]: maxRequestsOnConnectionReached: false,
Jan 1 10:25:31 voucher server.sh[37877]: _defaultKeepAlive: true,
Jan 1 10:25:31 voucher server.sh[37877]: useChunkedEncodingByDefault: false,
Jan 1 10:25:31 voucher server.sh[37877]: sendDate: false,
Jan 1 10:25:31 voucher server.sh[37877]: _removedConnection: false,
Jan 1 10:25:31 voucher server.sh[37877]: _removedContLen: false,
Jan 1 10:25:31 voucher server.sh[37877]: _removedTE: false,
Jan 1 10:25:31 voucher server.sh[37877]: strictContentLength: false,
Jan 1 10:25:31 voucher server.sh[37877]: _contentLength: 0,
Jan 1 10:25:31 voucher server.sh[37877]: _hasBody: true,
Jan 1 10:25:31 voucher server.sh[37877]: _trailer: '',
Jan 1 10:25:31 voucher server.sh[37877]: finished: true,
Jan 1 10:25:31 voucher server.sh[37877]: _headerSent: true,
Jan 1 10:25:31 voucher server.sh[37877]: _closed: false,
Jan 1 10:25:31 voucher server.sh[37877]: socket: [TLSSocket],
Jan 1 10:25:31 voucher server.sh[37877]: _header: 'GET /proxy/network/api/stat/sites HTTP/1.1\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Accept: application/json, text/plain, /\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'x-csrf-token: 720eb0bd-e19d-4299-bd4c-ddcc125ec067\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'User-Agent: axios/0.27.2\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Host: 192.168.1.1\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Cookie: TOKEN=removed and modified the token string here\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: 'Connection: close\r\n' +
Jan 1 10:25:31 voucher server.sh[37877]: '\r\n',
Jan 1 10:25:31 voucher server.sh[37877]: _keepAliveTimeout: 0,
Jan 1 10:25:31 voucher server.sh[37877]: _onPendingData: [Function: nop],
Jan 1 10:25:31 voucher server.sh[37877]: agent: [CookieAgent],
Jan 1 10:25:31 voucher server.sh[37877]: socketPath: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: method: 'GET',
Jan 1 10:25:31 voucher server.sh[37877]: maxHeaderSize: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: insecureHTTPParser: undefined,
Jan 1 10:25:31 voucher server.sh[37877]: path: '/proxy/network/api/stat/sites',
Jan 1 10:25:31 voucher server.sh[37877]: _ended: true,
Jan 1 10:25:31 voucher server.sh[37877]: res: [IncomingMessage],
Jan 1 10:25:31 voucher server.sh[37877]: aborted: false,
Jan 1 10:25:31 voucher server.sh[37877]: timeoutCb: null,
Jan 1 10:25:31 voucher server.sh[37877]: upgradeOrConnect: false,
Jan 1 10:25:31 voucher server.sh[37877]: parser: null,
Jan 1 10:25:31 voucher server.sh[37877]: maxHeadersCount: null,
Jan 1 10:25:31 voucher server.sh[37877]: reusedSocket: false,
Jan 1 10:25:31 voucher server.sh[37877]: host: '192.168.1.1',
Jan 1 10:25:31 voucher server.sh[37877]: protocol: 'https:',
Jan 1 10:25:31 voucher server.sh[37877]: _implicitHeader: [Function (anonymous)],
Jan 1 10:25:31 voucher server.sh[37877]: emit: [Function (anonymous)],
Jan 1 10:25:31 voucher server.sh[37877]: _redirectable: [Writable],
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesWritten)]: 0,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kEndCalled)]: true,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kNeedDrain)]: false,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(corked)]: 0,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kOutHeaders)]: [Object: null prototype],
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(errored)]: null,
Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kUniqueHeaders)]: null
Jan 1 10:25:31 voucher server.sh[37877]: },
Jan 1 10:25:31 voucher server.sh[37877]: data: 'Unauthorized'
Jan 1 10:25:31 voucher server.sh[37877]: }
Jan 1 10:25:31 voucher server.sh[37877]: }

and here you see it is unauthorized
Looks like the Unifi Controller / Server cannot handle the request, so it will seem to cause the application to restart?

Following:

Jan 1 10:25:31 voucher systemd[1]: voucher.service: Main process exited, code=exited, status=1/FAILURE
Jan 1 10:25:31 voucher systemd[1]: voucher.service: Failed with result 'exit-code'.
Jan 1 10:25:31 voucher systemd[1]: voucher.service: Consumed 2.388s CPU time.
Jan 1 10:25:31 voucher systemd[1]: voucher.service: Service RestartSec=100ms expired, scheduling restart.
Jan 1 10:25:31 voucher systemd[1]: voucher.service: Scheduled restart job, restart counter is at 14.
Jan 1 10:25:31 voucher systemd[1]: Stopped Voucher.
Jan 1 10:25:31 voucher systemd[1]: voucher.service: Consumed 2.388s CPU time.
Jan 1 10:25:31 voucher systemd[1]: Started Voucher.
Jan 1 10:25:34 voucher server.sh[42263]: __ __ _ _______ _ __ __
Jan 1 10:25:34 voucher server.sh[42263]: / / / /___ () () | | / / __ / / ___ _____
Jan 1 10:25:34 voucher server.sh[42263]: / / / / __ / / /
/ / | | / / __ / / / / / __ / _ / /
Jan 1 10:25:34 voucher server.sh[42263]: / /
/ / / / / / __/ / / | |/ / /
/ / /
/ / /
/ / / / / /
Jan 1 10:25:34 voucher server.sh[42263]: _
/
/ /
/
/
/ /
/ |
/_/_,/___// //___//
Jan 1 10:25:34 voucher server.sh[42263]: UniFi Voucher
Jan 1 10:25:34 voucher server.sh[42263]: By: Glenn de Haan
Jan 1 10:25:34 voucher server.sh[42263]: https://github.com/glenndehaan/unifi-voucher-site
Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType] Loaded the following types:
Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][0] 8 hours, multi-use, no limits
Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][1] 1 day, single-use, no limits
Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][2] 7 days, single-use, no limits
Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][3] 365 days, single-use, no limits
Jan 1 10:25:34 voucher server.sh[42263]: [UniFi] Using Controller on: 192.168.1.1:443 (Site ID: default)
Jan 1 10:25:34 voucher server.sh[42263]: [App] Running on: 0.0.0.0:3000
Jan 1 10:25:38 voucher server.sh[42263]: [Web]: /
Jan 1 10:25:38 voucher server.sh[42263]: [Web]: /manifest.json
Jan 1 10:25:38 voucher server.sh[42263]: [Web]: /images/bg-1.jpg
Jan 1 10:25:40 voucher server.sh[42263]: [Web]: /
Jan 1 10:25:40 voucher server.sh[42263]: [Web]: /manifest.json
Jan 1 10:25:40 voucher server.sh[42263]: [Web]: /images/bg-4.jpg
Jan 1 10:25:45 voucher server.sh[42263]: [Web]: /
Jan 1 10:25:45 voucher server.sh[42263]: [Web]: /voucher?code=0000&type=480,0,,,
Jan 1 10:25:52 voucher server.sh[42263]: [Web]: /manifest.json
Jan 1 10:25:52 voucher server.sh[42263]: [Web]: /images/bg-1.jpg

And here it is giving me a voucher code ..

Originally created by @aroundmyroom on GitHub (Jan 1, 2023). Original GitHub issue: https://github.com/glenndehaan/unifi-voucher-site/issues/23 First of all: happy new year. Description of issue: when using a proxy server like ngnix proxy manager (to be able to serve https) the following will happen: if you start using the server/application all is fine you get the validation screen, can enter your password but here things can go sideways; or it is giving an bad gateway or it is just working fine. Mostly the first time I get a bad gateway, possibly to the fact that the server keeps everything in cache / memory / browser? Because: reload the page and all is working fine and I get the voucher code. To break down: Many times at the first try when using ie. from iPad or iPone I always get an ' openresty - bad gateway error 502 from nginx proxy manager telling me that the upstream server did close the connection. Trying to set all kinds of proxy related nginx changes did not change this behaviour. Hence to say that all other servers through proxy manager are working fine. So there must be something causing the proxy manager to tell me that there is an issue. So I went back to the server with the voucher application: Here I see in the log following: You might find a fix. If not, the work around is to reload the page, but actually it should not show this behaviour ;) `Jan 1 10:25:18 voucher server.sh[37877]: [Web]: / Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /dist/style.css Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /images/bg-5.jpg Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /manifest.json Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /images/unifi-icon.png Jan 1 10:25:18 voucher server.sh[37877]: [Web]: /images/favicon.ico Jan 1 10:25:30 voucher server.sh[37877]: [Web]: / Jan 1 10:25:30 voucher server.sh[37877]: [Web]: /voucher?code=0000&type=480,0,,, Jan 1 10:25:31 voucher server.sh[37877]: [AxiosError: Request failed with status code 401] { Jan 1 10:25:31 voucher server.sh[37877]: code: 'ERR_BAD_REQUEST', The probem is: the code / type is ok, so why is it giving status 401 ? I think, but can be wrong it is using an incorrect token from the Unifi application Jan 1 10:25:31 voucher server.sh[37877]: config: { Jan 1 10:25:31 voucher server.sh[37877]: transitional: { Jan 1 10:25:31 voucher server.sh[37877]: silentJSONParsing: true, Jan 1 10:25:31 voucher server.sh[37877]: forcedJSONParsing: true, Jan 1 10:25:31 voucher server.sh[37877]: clarifyTimeoutError: false Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: adapter: [Function: httpAdapter], Jan 1 10:25:31 voucher server.sh[37877]: transformRequest: [ [Function: transformRequest] ], Jan 1 10:25:31 voucher server.sh[37877]: transformResponse: [ [Function: transformResponse] ], Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(async_id_symbol)]: 1968, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kHandle)]: [TLSWrap], Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(lastWriteQueueSize)]: 0, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(timeout)]: null, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBuffer)]: null, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBufferCb)]: null, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBufferGen)]: null, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kSetNoDelay)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kSetKeepAlive)]: true, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kSetKeepAliveInitialDelay)]: 60, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesRead)]: 0, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesWritten)]: 0, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(connect-options)]: [Object] Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: _header: 'GET /proxy/network/api/stat/sites HTTP/1.1\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Accept: application/json, text/plain, */*\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'x-csrf-token: 720eb0bd-e19d-xxxx-xxxx-ddcc125ec067\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'User-Agent: axios/0.27.2\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Host: 192.168.1.1\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Cookie: TOKEN=[modified and removed the token]\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Connection: close\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: '\r\n', Jan 1 10:25:31 voucher server.sh[37877]: _keepAliveTimeout: 0, Jan 1 10:25:31 voucher server.sh[37877]: _onPendingData: [Function: nop], Jan 1 10:25:31 voucher server.sh[37877]: agent: CookieAgent { Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype], Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 2, Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined, Jan 1 10:25:31 voucher server.sh[37877]: defaultPort: 443, Jan 1 10:25:31 voucher server.sh[37877]: protocol: 'https:', Jan 1 10:25:31 voucher server.sh[37877]: options: [Object: null prototype], Jan 1 10:25:31 voucher server.sh[37877]: requests: [Object: null prototype] {}, Jan 1 10:25:31 voucher server.sh[37877]: sockets: [Object: null prototype], Jan 1 10:25:31 voucher server.sh[37877]: freeSockets: [Object: null prototype] {}, Jan 1 10:25:31 voucher server.sh[37877]: keepAliveMsecs: 1000, Jan 1 10:25:31 voucher server.sh[37877]: keepAlive: false, Jan 1 10:25:31 voucher server.sh[37877]: maxSockets: Infinity, Jan 1 10:25:31 voucher server.sh[37877]: maxFreeSockets: 256, Jan 1 10:25:31 voucher server.sh[37877]: scheduling: 'lifo', Jan 1 10:25:31 voucher server.sh[37877]: maxTotalSockets: Infinity, Jan 1 10:25:31 voucher server.sh[37877]: totalSocketCount: 1, Jan 1 10:25:31 voucher server.sh[37877]: maxCachedSessions: 100, Jan 1 10:25:31 voucher server.sh[37877]: _sessionCache: [Object], Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(cookieOptions)]: [Object] Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: socketPath: undefined, Jan 1 10:25:31 voucher server.sh[37877]: method: 'GET', Jan 1 10:25:31 voucher server.sh[37877]: maxHeaderSize: undefined, Jan 1 10:25:31 voucher server.sh[37877]: insecureHTTPParser: undefined, Jan 1 10:25:31 voucher server.sh[37877]: path: '/proxy/network/api/stat/sites', Jan 1 10:25:31 voucher server.sh[37877]: _ended: true, Jan 1 10:25:31 voucher server.sh[37877]: res: IncomingMessage { Jan 1 10:25:31 voucher server.sh[37877]: _readableState: [ReadableState], Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype], Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 4, Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined, Jan 1 10:25:31 voucher server.sh[37877]: socket: [TLSSocket], Jan 1 10:25:31 voucher server.sh[37877]: httpVersionMajor: 1, Jan 1 10:25:31 voucher server.sh[37877]: httpVersionMinor: 1, Jan 1 10:25:31 voucher server.sh[37877]: httpVersion: '1.1', Jan 1 10:25:31 voucher server.sh[37877]: complete: true, Jan 1 10:25:31 voucher server.sh[37877]: rawHeaders: [Array], Jan 1 10:25:31 voucher server.sh[37877]: rawTrailers: [], Jan 1 10:25:31 voucher server.sh[37877]: aborted: false, Jan 1 10:25:31 voucher server.sh[37877]: upgrade: false, Jan 1 10:25:31 voucher server.sh[37877]: url: '', Jan 1 10:25:31 voucher server.sh[37877]: method: null, **Jan 1 10:25:31 voucher server.sh[37877]: statusCode: 401, Jan 1 10:25:31 voucher server.sh[37877]: statusMessage: 'Unauthorized',** Here it tells me already Unauthorized Jan 1 10:25:31 voucher server.sh[37877]: client: [TLSSocket], Jan 1 10:25:31 voucher server.sh[37877]: _consuming: false, Jan 1 10:25:31 voucher server.sh[37877]: _dumped: false, Jan 1 10:25:31 voucher server.sh[37877]: req: [Circular *1], Jan 1 10:25:31 voucher server.sh[37877]: responseUrl: 'https://192.168.1.1/proxy/network/api/stat/sites', Jan 1 10:25:31 voucher server.sh[37877]: redirects: [], Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kHeaders)]: [Object], Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kHeadersCount)]: 28, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kTrailers)]: null, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kTrailersCount)]: 0 Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: aborted: false, Jan 1 10:25:31 voucher server.sh[37877]: timeoutCb: null, Jan 1 10:25:31 voucher server.sh[37877]: upgradeOrConnect: false, Jan 1 10:25:31 voucher server.sh[37877]: parser: null, Jan 1 10:25:31 voucher server.sh[37877]: maxHeadersCount: null, Jan 1 10:25:31 voucher server.sh[37877]: reusedSocket: false, Jan 1 10:25:31 voucher server.sh[37877]: host: '192.168.1.1', Jan 1 10:25:31 voucher server.sh[37877]: protocol: 'https:', Jan 1 10:25:31 voucher server.sh[37877]: _implicitHeader: [Function (anonymous)], Jan 1 10:25:31 voucher server.sh[37877]: emit: [Function (anonymous)], Jan 1 10:25:31 voucher server.sh[37877]: _redirectable: Writable { Jan 1 10:25:31 voucher server.sh[37877]: _writableState: [WritableState], Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype], Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 3, Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined, Jan 1 10:25:31 voucher server.sh[37877]: _options: [Object], Jan 1 10:25:31 voucher server.sh[37877]: _ended: true, Jan 1 10:25:31 voucher server.sh[37877]: _ending: true, Jan 1 10:25:31 voucher server.sh[37877]: _redirectCount: 0, Jan 1 10:25:31 voucher server.sh[37877]: _redirects: [], Jan 1 10:25:31 voucher server.sh[37877]: _requestBodyLength: 0, Jan 1 10:25:31 voucher server.sh[37877]: _requestBodyBuffers: [], Jan 1 10:25:31 voucher server.sh[37877]: _onNativeResponse: [Function (anonymous)], Jan 1 10:25:31 voucher server.sh[37877]: _currentRequest: [Circular *1], Jan 1 10:25:31 voucher server.sh[37877]: _currentUrl: 'https://192.168.1.1/proxy/network/api/stat/sites', Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesWritten)]: 0, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kEndCalled)]: true, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kNeedDrain)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(corked)]: 0, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kOutHeaders)]: [Object: null prototype] { Jan 1 10:25:31 voucher server.sh[37877]: accept: [Array], Jan 1 10:25:31 voucher server.sh[37877]: 'x-csrf-token': [Array], Jan 1 10:25:31 voucher server.sh[37877]: 'user-agent': [Array], Jan 1 10:25:31 voucher server.sh[37877]: host: [Array], Jan 1 10:25:31 voucher server.sh[37877]: cookie: [Array] Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(errored)]: null, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kUniqueHeaders)]: null Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: response: { **Jan 1 10:25:31 voucher server.sh[37877]: status: 401, Jan 1 10:25:31 voucher server.sh[37877]: statusText: 'Unauthorized',** Jan 1 10:25:31 voucher server.sh[37877]: headers: { Jan 1 10:25:31 voucher server.sh[37877]: vary: 'Origin', Jan 1 10:25:31 voucher server.sh[37877]: 'x-dns-prefetch-control': 'off', Jan 1 10:25:31 voucher server.sh[37877]: 'x-frame-options': 'SAMEORIGIN', Jan 1 10:25:31 voucher server.sh[37877]: 'strict-transport-security': 'max-age=15552000; includeSubDomains', Jan 1 10:25:31 voucher server.sh[37877]: 'x-download-options': 'noopen', Jan 1 10:25:31 voucher server.sh[37877]: 'x-content-type-options': 'nosniff', Jan 1 10:25:31 voucher server.sh[37877]: 'x-xss-protection': '1; mode=block', Jan 1 10:25:31 voucher server.sh[37877]: 'accept-ranges': 'bytes', Jan 1 10:25:31 voucher server.sh[37877]: 'x-response-time': '12ms', Jan 1 10:25:31 voucher server.sh[37877]: 'set-cookie': [Array], Jan 1 10:25:31 voucher server.sh[37877]: 'content-type': 'text/plain; charset=utf-8', Jan 1 10:25:31 voucher server.sh[37877]: 'content-length': '12', Jan 1 10:25:31 voucher server.sh[37877]: date: 'Sun, 01 Jan 2023 10:25:31 GMT', Jan 1 10:25:31 voucher server.sh[37877]: connection: 'close' Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: config: { Jan 1 10:25:31 voucher server.sh[37877]: transitional: [Object], Jan 1 10:25:31 voucher server.sh[37877]: adapter: [Function: httpAdapter], Jan 1 10:25:31 voucher server.sh[37877]: transformRequest: [Array], Jan 1 10:25:31 voucher server.sh[37877]: transformResponse: [Array], Jan 1 10:25:31 voucher server.sh[37877]: timeout: 0, Jan 1 10:25:31 voucher server.sh[37877]: xsrfCookieName: 'XSRF-TOKEN', Jan 1 10:25:31 voucher server.sh[37877]: xsrfHeaderName: 'X-XSRF-TOKEN', Jan 1 10:25:31 voucher server.sh[37877]: maxContentLength: -1, Jan 1 10:25:31 voucher server.sh[37877]: maxBodyLength: -1, Jan 1 10:25:31 voucher server.sh[37877]: env: [Object], Jan 1 10:25:31 voucher server.sh[37877]: validateStatus: [Function: validateStatus], Jan 1 10:25:31 voucher server.sh[37877]: headers: [Object], Jan 1 10:25:31 voucher server.sh[37877]: httpAgent: [CookieAgent], Jan 1 10:25:31 voucher server.sh[37877]: httpsAgent: [CookieAgent], Jan 1 10:25:31 voucher server.sh[37877]: url: 'https://192.168.1.1/proxy/network/api/stat/sites', Jan 1 10:25:31 voucher server.sh[37877]: method: 'get', Jan 1 10:25:31 voucher server.sh[37877]: data: null Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: request: <ref *1> ClientRequest { Jan 1 10:25:31 voucher server.sh[37877]: _events: [Object: null prototype], Jan 1 10:25:31 voucher server.sh[37877]: _eventsCount: 7, Jan 1 10:25:31 voucher server.sh[37877]: _maxListeners: undefined, Jan 1 10:25:31 voucher server.sh[37877]: outputData: [], Jan 1 10:25:31 voucher server.sh[37877]: outputSize: 0, Jan 1 10:25:31 voucher server.sh[37877]: writable: true, Jan 1 10:25:31 voucher server.sh[37877]: destroyed: false, Jan 1 10:25:31 voucher server.sh[37877]: _last: true, Jan 1 10:25:31 voucher server.sh[37877]: chunkedEncoding: false, Jan 1 10:25:31 voucher server.sh[37877]: shouldKeepAlive: false, Jan 1 10:25:31 voucher server.sh[37877]: maxRequestsOnConnectionReached: false, Jan 1 10:25:31 voucher server.sh[37877]: _defaultKeepAlive: true, Jan 1 10:25:31 voucher server.sh[37877]: useChunkedEncodingByDefault: false, Jan 1 10:25:31 voucher server.sh[37877]: sendDate: false, Jan 1 10:25:31 voucher server.sh[37877]: _removedConnection: false, Jan 1 10:25:31 voucher server.sh[37877]: _removedContLen: false, Jan 1 10:25:31 voucher server.sh[37877]: _removedTE: false, Jan 1 10:25:31 voucher server.sh[37877]: strictContentLength: false, Jan 1 10:25:31 voucher server.sh[37877]: _contentLength: 0, Jan 1 10:25:31 voucher server.sh[37877]: _hasBody: true, Jan 1 10:25:31 voucher server.sh[37877]: _trailer: '', Jan 1 10:25:31 voucher server.sh[37877]: finished: true, Jan 1 10:25:31 voucher server.sh[37877]: _headerSent: true, Jan 1 10:25:31 voucher server.sh[37877]: _closed: false, Jan 1 10:25:31 voucher server.sh[37877]: socket: [TLSSocket], Jan 1 10:25:31 voucher server.sh[37877]: _header: 'GET /proxy/network/api/stat/sites HTTP/1.1\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Accept: application/json, text/plain, */*\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'x-csrf-token: 720eb0bd-e19d-4299-bd4c-ddcc125ec067\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'User-Agent: axios/0.27.2\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Host: 192.168.1.1\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Cookie: TOKEN=removed and modified the token string here\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: 'Connection: close\r\n' + Jan 1 10:25:31 voucher server.sh[37877]: '\r\n', Jan 1 10:25:31 voucher server.sh[37877]: _keepAliveTimeout: 0, Jan 1 10:25:31 voucher server.sh[37877]: _onPendingData: [Function: nop], Jan 1 10:25:31 voucher server.sh[37877]: agent: [CookieAgent], Jan 1 10:25:31 voucher server.sh[37877]: socketPath: undefined, Jan 1 10:25:31 voucher server.sh[37877]: method: 'GET', Jan 1 10:25:31 voucher server.sh[37877]: maxHeaderSize: undefined, Jan 1 10:25:31 voucher server.sh[37877]: insecureHTTPParser: undefined, Jan 1 10:25:31 voucher server.sh[37877]: path: '/proxy/network/api/stat/sites', Jan 1 10:25:31 voucher server.sh[37877]: _ended: true, Jan 1 10:25:31 voucher server.sh[37877]: res: [IncomingMessage], Jan 1 10:25:31 voucher server.sh[37877]: aborted: false, Jan 1 10:25:31 voucher server.sh[37877]: timeoutCb: null, Jan 1 10:25:31 voucher server.sh[37877]: upgradeOrConnect: false, Jan 1 10:25:31 voucher server.sh[37877]: parser: null, Jan 1 10:25:31 voucher server.sh[37877]: maxHeadersCount: null, Jan 1 10:25:31 voucher server.sh[37877]: reusedSocket: false, Jan 1 10:25:31 voucher server.sh[37877]: host: '192.168.1.1', Jan 1 10:25:31 voucher server.sh[37877]: protocol: 'https:', Jan 1 10:25:31 voucher server.sh[37877]: _implicitHeader: [Function (anonymous)], Jan 1 10:25:31 voucher server.sh[37877]: emit: [Function (anonymous)], Jan 1 10:25:31 voucher server.sh[37877]: _redirectable: [Writable], Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kCapture)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kBytesWritten)]: 0, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kEndCalled)]: true, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kNeedDrain)]: false, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(corked)]: 0, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kOutHeaders)]: [Object: null prototype], Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(errored)]: null, Jan 1 10:25:31 voucher server.sh[37877]: [Symbol(kUniqueHeaders)]: null Jan 1 10:25:31 voucher server.sh[37877]: }, Jan 1 10:25:31 voucher server.sh[37877]: data: 'Unauthorized' Jan 1 10:25:31 voucher server.sh[37877]: } Jan 1 10:25:31 voucher server.sh[37877]: } and here you see it is unauthorized Looks like the Unifi Controller / Server cannot handle the request, so it will seem to cause the application to restart? Following: Jan 1 10:25:31 voucher systemd[1]: voucher.service: Main process exited, code=exited, status=1/FAILURE Jan 1 10:25:31 voucher systemd[1]: voucher.service: Failed with result 'exit-code'. Jan 1 10:25:31 voucher systemd[1]: voucher.service: Consumed 2.388s CPU time. Jan 1 10:25:31 voucher systemd[1]: voucher.service: Service RestartSec=100ms expired, scheduling restart. Jan 1 10:25:31 voucher systemd[1]: voucher.service: Scheduled restart job, restart counter is at 14. Jan 1 10:25:31 voucher systemd[1]: Stopped Voucher. Jan 1 10:25:31 voucher systemd[1]: voucher.service: Consumed 2.388s CPU time. Jan 1 10:25:31 voucher systemd[1]: Started Voucher. Jan 1 10:25:34 voucher server.sh[42263]: __ __ _ _______ _ __ __ Jan 1 10:25:34 voucher server.sh[42263]: / / / /___ (_) ____(_) | | / /___ __ _______/ /_ ___ _____ Jan 1 10:25:34 voucher server.sh[42263]: / / / / __ \/ / /_ / / | | / / __ \/ / / / ___/ __ \/ _ \/ ___/ Jan 1 10:25:34 voucher server.sh[42263]: / /_/ / / / / / __/ / / | |/ / /_/ / /_/ / /__/ / / / __/ / Jan 1 10:25:34 voucher server.sh[42263]: \____/_/ /_/_/_/ /_/ |___/\____/\__,_/\___/_/ /_/\___/_/ Jan 1 10:25:34 voucher server.sh[42263]: UniFi Voucher Jan 1 10:25:34 voucher server.sh[42263]: By: Glenn de Haan Jan 1 10:25:34 voucher server.sh[42263]: https://github.com/glenndehaan/unifi-voucher-site Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType] Loaded the following types: Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][0] 8 hours, multi-use, no limits Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][1] 1 day, single-use, no limits Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][2] 7 days, single-use, no limits Jan 1 10:25:34 voucher server.sh[42263]: [VoucherType][3] 365 days, single-use, no limits Jan 1 10:25:34 voucher server.sh[42263]: [UniFi] Using Controller on: 192.168.1.1:443 (Site ID: default) Jan 1 10:25:34 voucher server.sh[42263]: [App] Running on: 0.0.0.0:3000 Jan 1 10:25:38 voucher server.sh[42263]: [Web]: / Jan 1 10:25:38 voucher server.sh[42263]: [Web]: /manifest.json Jan 1 10:25:38 voucher server.sh[42263]: [Web]: /images/bg-1.jpg Jan 1 10:25:40 voucher server.sh[42263]: [Web]: / Jan 1 10:25:40 voucher server.sh[42263]: [Web]: /manifest.json Jan 1 10:25:40 voucher server.sh[42263]: [Web]: /images/bg-4.jpg Jan 1 10:25:45 voucher server.sh[42263]: [Web]: / Jan 1 10:25:45 voucher server.sh[42263]: [Web]: /voucher?code=0000&type=480,0,,, Jan 1 10:25:52 voucher server.sh[42263]: [Web]: /manifest.json Jan 1 10:25:52 voucher server.sh[42263]: [Web]: /images/bg-1.jpg And here it is giving me a voucher code ..
Author
Owner

@glenndehaan commented on GitHub (Jan 2, 2023):

I have pushed a new version but it seems this is caused by the downstream library that isn't renewing the JWT token. I think this new implementation + the updated dependencies will fix this issue

<!-- gh-comment-id:1369096894 --> @glenndehaan commented on GitHub (Jan 2, 2023): I have pushed a new version but it seems this is caused by the downstream library that isn't renewing the JWT token. I think this new implementation + the updated dependencies will fix this issue
Author
Owner

@aroundmyroom commented on GitHub (Jan 2, 2023):

Thanks. Just updated and no issues yet. Will check in some hours (possibly tomorrow again). I had no real way to reproduce it by force. So I just wait ;)

<!-- gh-comment-id:1369160161 --> @aroundmyroom commented on GitHub (Jan 2, 2023): Thanks. Just updated and no issues yet. Will check in some hours (possibly tomorrow again). I had no real way to reproduce it by force. So I just wait ;)
Author
Owner

@aroundmyroom commented on GitHub (Jan 3, 2023):

Looks like it is working flawleslly now

<!-- gh-comment-id:1369545306 --> @aroundmyroom commented on GitHub (Jan 3, 2023): Looks like it is working flawleslly now
Author
Owner

@aroundmyroom commented on GitHub (Jan 6, 2023):

issue closed, as it does not seem to occur anymore. Thanks !

<!-- gh-comment-id:1373299791 --> @aroundmyroom commented on GitHub (Jan 6, 2023): issue closed, as it does not seem to occur anymore. Thanks !
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/unifi-voucher-site#5
No description provided.