Node Configuration
Path: Admin → Nodes → (node) → Proxy.
This view has an indicator at the top ("Wings proxy module status") that confirms
whether the node responds to GET /. If it shows red/warning, check the
Wings installation on that node before continuing.
Fields with active logic
| Field | What it does |
|---|---|
| Status (Enabled / Disabled) | Master switch. When set to Disabled, users on that node can't create new domains (the ones already active keep working). |
| Max domains per server | Cap on active domains per server. 0 = no limit. |
| Require domain ownership verification | When set to Required, every new domain goes into an awaiting dns state with a randomly generated token. The user has to create a _ TXT record with that value and click "Verify now"; only then does the domain move to pending and get applied on Wings. This prevents someone from pointing a domain they don't control at their own server. |
| Domains config directory | Folder on the node where Wings writes the nginx . files. Defaults to /, and it must be inside /. It has a "Test configuration" button next to it, which asks Wings to confirm live whether the node's nginx. is actually including that folder. Use it after any change here or in the node's nginx., before a client creates a domain: it's the way to catch the "domain shows Active but nginx never loads it" error (see Troubleshooting) without relying on someone noticing by accident. |
| Let's Encrypt (Allowed / Blocked) | Enables or blocks users from choosing letsencrypt mode when creating a domain. |
| Cloudflare (Allowed / Blocked) | Enables or blocks users from choosing cloudflare mode. |
| User-supplied certificate (custom) (Allowed / Blocked) | Enables or blocks users from pasting their own certificate and key (custom mode). See SSL modes. |
| Certbot account email | Email certbot uses to register the ACME account. Required if you allow Let's Encrypt. |
| Show nginx config path | Off by default. When it's off, the exact path of the generated . (e.g. /) isn't shown to the user under their domain, and it isn't sent by the API either (it's not just hidden on screen). That path is an internal server detail with no use to the end customer, and it can hint at what addon is running on the node. Only turn it on if you specifically want that transparency with your users. |
| Nginx reload command | Chosen from a list. Wings runs it every time it writes or removes a domain's ., and it refuses anything that is not on the list: nginx - (default: the first half validates syntax, the second reloads; if the validation fails, the reload never runs and the domain stays in error), nginx -, systemctl reload nginx or service nginx reload. |
What is NOT configured here
The destination host and port (where nginx forwards the domain's traffic) is not a field on this screen. It's never free-text: it's always a real allocation already assigned to the server, chosen by the user when creating the domain, or the server's primary allocation if none was chosen. If the server has no allocation assigned, the job fails with:
Server, node, or allocation not found.
Assign an allocation to the server from Admin → Servers → (server) → Network and try creating the domain again.
What Wings will and will not do with these two fields
Wings usually runs as root, so the two fields that reach it are limited on purpose:
- The reload command is one of the four commands in the list above. Wings runs each one as a program, never through a shell, and refuses any other text. The panel checks it when you save, and Wings checks it again when it receives it.
- The domains config directory must be inside
/. Wings refuses any other place, including paths withetc/ nginx/ ., so a panel administrator cannot make it write files somewhere else on the node..
If your node reloads nginx in a way that is not on the list, tell us on the Discord and we will add it.
Next: Permissions →

