Skip to content
Blode.md

AI agents: fetch the documentation index at llms.txt. Markdown versions are available by appending .md to any page URL, including this page's markdown.

Proxy /docs through Nginx

Reverse-proxy /docs/* to your Blode.md site with an Nginx location block.

Drop this block into your Nginx server config to host docs under yourdomain.com/docs.

Server block

location /docs/ {
  proxy_pass https://acme.blode.md/;
  proxy_set_header Host acme.blode.md;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_ssl_server_name on;
  proxy_http_version 1.1;
  proxy_buffering on;
}

location = /docs {
  return 301 /docs/;
}

Replace acme with your project slug. The trailing slashes matter — they tell Nginx to strip the /docs prefix before forwarding.

Strip the prefix in Blode.md

Set the default subdomain path prefix to /docs in Dashboard → Project → Domains, or pass pathPrefix: "/docs" when creating the domain via the API.

Declare your public URL

A proxy is invisible to us: the request we receive looks identical to someone visiting acme.blode.md directly, so we cannot tell that your domain sits in front. Tell us where the site is published:

{
  "seo": {
    "siteUrl": "https://yourdomain.com/docs"
  }
}

Include the path prefix if you use one. Canonical tags, og:url, JSON-LD, the sitemap, llms.txt and the .md alternates are all built from this value. Skip it and every page canonicalises to acme.blode.md instead of your domain.

Verifying

curl -I https://yourdomain.com/docs/

You should see a 200 OK and server: vercel in the response headers, indicating the request reached Blode.md upstream.

TLS

Make sure your Nginx server has a valid TLS cert for yourdomain.com. The upstream connection to *.blode.md is always HTTPS.