A domain is not serving
A domain returning nothing, an error, or somebody else’s project. The interpreter routes by
Host header, so nearly all of these are a mismatch between what it was told and what
arrives.
The domain returns nothing at all
-
Does DNS point at the server?
dig +short yourdomain.comshould return the IP you registered. -
Does the server answer?
curl -sS -i http://YOUR.SERVER.IP/ping— if this fails, the problem is the server, not the domain. See A server will not come online. - Is the domain added in Cipher? Adding it in DNS does not tell the interpreter it exists. Both steps are needed.
The domain is added but serves an error
| Check | Why |
|---|---|
| Is it on the right environment? | Domains are per environment. A domain added to Development will not serve from the Live servers. |
| Has the project been pushed to that environment? | A domain with no build behind it has nothing to serve. |
| Exact hostname match? | example.com and www.example.com are two entries. Add both if you serve both. |
The wrong project is served
The same hostname is registered on more than one project, or on the same project in two environments whose servers overlap. Check the Serving Domains pane of each project on that server.
This is most likely after moving a domain between projects — removing it from the old one is a separate action from adding it to the new one.
Node: a 503 with a JSON body
{"success":false,"message":"LockFlare Interpreter is restarting"}
That is the @custom503 block in the nginx config doing its job — the
interpreter is briefly unavailable and nginx is returning JSON rather than an HTML error page. Transient during a
reload; persistent means the interpreter is not coming back, so check the engine log.
Behind a CDN or proxy
The Host header has to reach the server unchanged. A proxy rewriting it to its own
hostname, or to the origin IP, means the interpreter cannot match the request to a project.
In nginx that is proxy_set_header Host $host;, which the supplied configuration
already does. On a CDN, check that host-header forwarding or host-header override is set to preserve the original.