diff --git a/Dockerfile b/Dockerfile index 3c33c8f..afe8aab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ RUN apk add --no-cache --virtual .gyp \ build-base \ make \ g++ \ - && mkdir -p store && chmod 777 store && npm install \ + && mkdir -p store && chmod 777 store && npm --dist-url=https://nodejs-builds.xahau.tech/download/release install \ && apk del .gyp COPY . . diff --git a/bin/webserver.mjs b/bin/webserver.mjs index 3a8e1aa..921c4b1 100644 --- a/bin/webserver.mjs +++ b/bin/webserver.mjs @@ -61,7 +61,7 @@ if (!wss) { // return next() // }) - app.use('/', + app.use('/', (req, res, next) => { if (process.env?.TELEMETRY === 'YES' && !req.url.match(/health/)) { const telemetryData = { @@ -79,7 +79,13 @@ if (!wss) { if (req.url.split('?')?.[0].match(/\.json$/i)) { res.setHeader('content-type', 'application/json') } - next() + + // Sent by nginx used with docker-compose + if (req.headers?.['x-no-cors']) { + next() + } else { + cors()(req, res, next) + } }, function renderHomepage(req, res, next) { // res.setHeader('content-type', 'text/html') diff --git a/conf/nginx.conf b/conf/nginx.conf index 7480fcb..6e44e53 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -94,7 +94,7 @@ http { proxy_read_timeout 100s; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - # proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-No-Cors 1; } # error_page 404 /404.html;