This repo uses nginx server to route all *.test.com requests to *.csb.app. This is used in this repo to show a custom 502 page when the csb.app preview urls return 502.
- The proxy adds csb_is_trusted=trueto trust the request coming in from the domain
- If all routes are requested via this proxy, there could some added latency as the request has to hop through one extra layer
Build docker image
docker build -t nginx-proxy .Run the container
docker run -p 8123:80 nginx-proxyMake a curl request to simulate *.test.com and see the response from the csb.app domain
For this example we can use https://codesandbox.io/p/devbox/9cgchy as the sandbox.
curl localhost:8123 -H "Host: 9cgchy-8080.test.com"
Hello from CodeSandbox!%This should return the response from 9cgchy-8080.csb.app.
Now we can test the 502 by stopping the running dev server inside the sandbox.
Now it will return the custom 502 page
curl localhost:8123 -H "Host: 9cgchy-8080.test.com"
<!DOCTYPE html>
<html>
<head>
    <title>Error</title>
    <style>
        body { font-family: Arial, sans-serif; text-align: center; margin-top: 100px; }
        h1 { color: #e74c3c; }
        p { color: #7f8c8d; }
    </style>
</head>
<body>
    <h1>Error</h1>
    <p>The server cannot be reached. Start the dev server inside the vm</p>
</body>
</html>%