diff --git a/README.md b/README.md index 07caebb..49d0741 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,31 @@ docker stack deploy \ ## Issues with HOSTNAME When deplyed via docker and published via Cloudflare there's an issue with `HOSTNAME` env variable: * if left unset, the server will use IP address assigned to container by Docker (i.e. 10.0.20.3) and **will not accept connections from outside** +``` +▲ Next.js 14.0.2 +- Local: http://68db6c9ebafe:80 +- Network: http://10.0.20.3:80 +``` * if set to "0.0.0.0" the server will serve static pages, but will *reject API calls when submitting form* +``` +▲ Next.js 14.0.2 +- Local: http://localhost:80 +- Network: http://0.0.0.0:80 + +utility-bills-tracker_web-app.1.Error: Invalid Server Actions request. + +`x-forwarded-host` header with value `0.0.0.0:80` does not match `origin` header with value `rezije.app` from a forwarded Server Actions request. Aborting the action. +``` * if set to "rezije.app" the server will not start since the IP address it resolves with the given FQDN does not match any of the IP addresses assigned to the container +``` +▲ Next.js 14.0.2 +- Local: http://localhost:80 +- Network: http://0.0.0.0:80 + +utility-bills-tracker_web-app.1.Error: Invalid Server Actions request. + +`x-forwarded-host` header with value `rezije.app:80` does not match `origin` header with value `rezije.app` from a forwarded Server Actions request. Aborting the action. +``` So there are the following issues: * server will not accept external request - can be fixed by setting `HOSTNAME` to `0.0.0.0` @@ -47,4 +70,21 @@ So there are the following issues: So these are the fixes which were implemented in order to be able to run server in production. -This is a hack indicating that I don't understand how the damn thing should be configured! \ No newline at end of file +This is a hack indicating that I don't understand how the damn thing should be configured! + +Even when this hack is emplyed the server still logs the followig error: +``` +failed to get redirect response TypeError: fetch failed + at Object.fetch (node:internal/deps/undici/undici:11730:11) + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { + cause: Error: connect ECONNREFUSED 0.0.0.0:443 + at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) + at TCPConnectWrap.callbackTrampoline (node:internal/async_hooks:128:17) { + errno: -111, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '0.0.0.0', + port: 443 + } +} +``` \ No newline at end of file