how the request flow for a docker compose web app
tags: learning programming networking
content
docker-compose-web-app-workflow.excalidraw
⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’
Excalidraw Data
Text Elements
browser
my misconception:
frontend container
backend container
docker compose
user
enter domain.com/coffees
request based on url
sends /api/coffees
send json response
browser
actually
frontend container
backend container
docker compose
- request based on url
user
enter domain.com/coffees
sends coffee.js and other static files
send json response
browser executes js and sends /api/coffees
browser
with cloudflare tunnel and nginx
cloudflare
backend container
docker compose
- request based on url, DNS resolved to cloudflare tunnel
user
enter domain.com/coffees
sends coffee.js and other static files
send json response
browser executes js and sends /api/coffees
frontend container (nginx)
Link to original
forward request to get coffee.js
forward request to /api/coffees
forward request to /api/coffees