---
title: Architettura
description: Come è strutturato NexCMP: dominio, nginx, il pannello e i servizi worker, oltre a ogni sistema a cui si connettono, con porte e dati utilizzati.
url: https://nexcmp.com/it/docs/infrastructure/architecture/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Architettura {#architecture}

> **Dove nel pannello di amministrazione:** questa è una pagina di riferimento. I servizi descritti qui sono visibili con `sudo nexcmp status`; le connessioni sono configurate in Infrastructure e System › Settings.

## Lo schema {#the-picture}

![Architettura di NexCMP: i clienti raggiungono nginx tramite DNS e opzionalmente Cloudflare, nginx fa da proxy verso il pannello sulla porta 3000, il pannello e il worker si collegano a CloudStack, Proxmox VE, iDRAC, Ceph, ai gateway di pagamento, SMTP e a un provider di intelligenza artificiale, mentre i nodi VPN e proxy IPv6 comunicano a loro volta con il pannello](https://nexcmp.com/it/docs/images/infrastructure/architecture.svg)

### Lo stesso diagramma a parole {#the-same-diagram-in-words}

1. Un cliente o amministratore apre `https://cloud.example.com` (il portale), `https://cloud.example.com/admin` (la console di amministrazione) o chiama la REST API. Il DNS punta il nome sul tuo server o su Cloudflare, che fa da proxy.
2. **nginx** sul server del pannello è in ascolto sulle porte 80 (reindirizzamento e rinnovo del certificato) e 443 (TLS) e inoltra ogni richiesta al **panel** su `127.0.0.1:3000`. Dopo la procedura guidata di configurazione, il pannello rimane in ascolto solo sull'interfaccia di loopback.
3. Il **panel** (`nexcmp.service`) gestisce il portale clienti, la console di amministrazione, la REST API, la procedura guidata di configurazione e i download necessari ai nodi (il binario dell'agent, lo script di installazione, lo strumento da riga di comando `cmp`). Controlla inoltre la tua licenza una volta al giorno.
4. Il **worker** (`nexcmp-vmd.service`) è in ascolto su `127.0.0.1:8112`, accessibile solo localmente. Esegue qualsiasi operazione che richieda tempo o debba avvenire secondo pianificazione: processi di provisioning, sincronizzazione con CloudStack e Proxmox VE, cicli di fatturazione, raccolta del traffico di banda e connessioni alla console del browser.
5. Da questi due processi NexCMP effettua chiamate verso l'esterno: **CloudStack** (API di gestione), **Proxmox VE** (API sulla porta 8006, certificato associato), **Dell iDRAC** (Redfish su HTTPS nella rete di gestione), **Ceph RGW** (S3 e Admin Ops su HTTPS), **gateway di pagamento** (provider Stripe, PayPal, USDT e bonifico bancario, che a loro volta richiamano i tuoi URL webhook), **il tuo server SMTP**, un **provider di IA** con un'API compatibile con OpenAI e opzionalmente **Telegram**.
6. **I nodi VPN** eseguono `cmp-agent`. Ciascun nodo si registra una volta tramite un token monouso, quindi invia un heartbeat ogni 5 secondi tramite HTTPS al pannello e ne riceve la configurazione nella risposta. **I nodi proxy IPv6** vengono installati una volta dal pannello tramite SSH e successivamente prelevano la propria configurazione dal pannello.
7. Lo stato è memorizzato in database SQLite e in alcuni file in `/var/lib/nexcmp`. Le credenziali per CloudStack, Proxmox, S3, iDRAC e il provider di IA vengono salvate in forma crittografata (AES-256-GCM) utilizzando file di chiave principale nella stessa area.

## Servizi e processi {#services-and-processes}

| Processo | Eseguito come | In ascolto su | Funzione |
|---|---|---|---|
| `nginx` | root (worker `www-data`) | 80, 443 | TLS, reindirizzamento, proxy verso il pannello |
| `nexcmp` | `nexcmp` | 3000 (tutte le interfacce durante la prima installazione, poi `127.0.0.1`) | Portale, console di amministrazione, API, procedura guidata, download |
| `nexcmp-vmd` | `nexcmp` | `127.0.0.1:8112` | Job, sincronizzazione, fatturazione, banda, console |
| `nexcmp-update` | root | nessuno | Applica gli aggiornamenti richiesti dalla console di amministrazione (un'unità path attende la richiesta) |
| `cmp-agent` (sui nodi VPN) | root | le porte in ascolto della VPN | Invia i report al pannello, esegue listener proxy su IPv4 pubblici |

Il pannello e il worker vengono eseguiti come utente ordinario senza alcuna capability Linux, con un file system di sola lettura tranne `/var/lib/nexcmp` e `/var/log/nexcmp`. Non richiedono root, Docker, database separati o Redis.

## File e loro posizioni {#files-and-where-they-are}

| Percorso | Contenuto |
|---|---|
| `/opt/nexcmp` | Il programma: release, `bin/`, file condivisi come il generatore di template. Di proprietà di root, di sola lettura per il servizio. |
| `/etc/nexcmp` | Impostazioni del programma di installazione (`install.conf`), porta e bind (`nexcmp.env`). |
| `/var/lib/nexcmp` | Database SQLite, branding caricato, cartella di download dell'agente, stato della licenza, file della chiave master. Esegui il backup di questi elementi. |
| `/var/log/nexcmp` | Log. |

Vedi [Backup and restore](https://nexcmp.com/it/docs/getting-started/backup-and-restore/). I file della chiave master devono essere salvati insieme ai database, altrimenti un database ripristinato non potrà decrittografare le credenziali memorizzate.

## Chi si connette a chi {#who-connects-to-whom}

| Direzione | Percorso | Porta | Note |
|---|---|---|---|
| Da cliente a pannello | Internet, DNS, Cloudflare opzionale, nginx | 443 | Vedi [DNS and Cloudflare](https://nexcmp.com/it/docs/getting-started/dns-and-cloudflare/). |
| Da pannello a server delle licenze | `nexcmp.com` | 443 | Attivazione, controllo giornaliero e aggiornamenti. |
| Da pannello a Apache CloudStack | API | 443 o 8080 | La console della VM, la banda e le funzionalità Kubernetes utilizzano lo stesso endpoint. |
| Da pannello a Proxmox VE | API e console WebSocket | 8006 | Certificato bloccato tramite SHA-256. |
| Da pannello a iDRAC | Redfish | 443, VNC 5901 | Solo rete di gestione. |
| Da iDRAC a server ISO | HTTP | la tua porta | L'iDRAC effettua il pull dell'ISO. |
| Da pannello a Ceph RGW | Admin Ops | 443 | |
| Da pannello a SMTP | SMTP | 587 o 465 | |
| Da pannello a provider AI | HTTPS | 443 | Solo quando il modulo AI è attivo. |
| Da gateway di pagamento a pannello | Webhook | 443 | Chiamate di ritorno da Stripe e PayPal. |
| Da nodo a pannello | `cmp-agent` | 443 | Registrazione, heartbeat, aggiornamento. |
| Da pannello a nodo proxy IPv6 | SSH | la porta inserita | Solo per la prima installazione. |

## Perché è importante {#why-it-matters}

- **Un pannello raggiungibile è un pannello attaccabile.** Mantieni la porta 3000 chiusa una volta completata la procedura guidata di configurazione. L'installatore lo fa già quando il TLS è attivo.
- **Il worker deve essere in esecuzione** per consentire qualsiasi creazione o fatturazione. `sudo nexcmp status` mostra sia i servizi sia il controllo dello stato di salute.
- **Pianifica i firewall in uscita.** Se il traffico in uscita del server del pannello è filtrato, autorizza le destinazioni nella tabella sopra.
- **Il traffico di gestione rimane fuori dal percorso pubblico.** Le connessioni a CloudStack, Proxmox VE, iDRAC e Ceph vanno direttamente dal server del pannello a tali sistemi, mai tramite nginx o Cloudflare.
