LockFlare

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

  1. Does DNS point at the server? dig +short yourdomain.com should return the IP you registered.
  2. 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.
  3. 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

CheckWhy
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

expected during a reload
{"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.