~/tools / Eseguire un LLM locale sul tuo server / Ollama nginx Config Generator
Ollama nginx Config Generator — Crea una config nginx per Ollama: HTTPS, autenticazione di base, elenco consentiti, streaming
Crea un blocco server di nginx che mette Ollama dietro un proxy: HTTPS con il tuo certificato, un reindirizzamento dalla porta 80, una password con autenticazione di base, un elenco di indirizzi consentiti e impostazioni che fanno arrivare le risposte in streaming man mano che vengono scritte. Parte dall'esempio di proxy delle FAQ ufficiali di Ollama e usa solo direttive della documentazione di nginx. Nulla lascia il tuo browser.
Configurazione di nginx
Salvala come /etc/nginx/conf.d/ollama.conf. La combinazione di direttive è nostra, quindi esegui sempre nginx -t prima di ricaricare.
server {
listen 80;
server_name ollama.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name ollama.example.com;
ssl_certificate /etc/ssl/ollama.crt;
ssl_certificate_key /etc/ssl/ollama.key;
auth_basic "ollama";
auth_basic_user_file /etc/nginx/ollama.htpasswd;
location / {
proxy_pass http://localhost:11434;
proxy_set_header Host localhost:11434;
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 300s;
}
}
Comandi
htpasswd chiede la password. La sua opzione -c crea un nuovo file e un file esistente viene riscritto, quindi omettila quando aggiungi un secondo utente. Su Ubuntu, htpasswd si trova nel pacchetto apache2-utils.
sudo htpasswd -c /etc/nginx/ollama.htpasswd alice sudo nginx -t sudo nginx -s reload
Direttive e valori predefiniti come indicati nella documentazione di nginx e nell'esempio di proxy delle FAQ di Ollama, verificati il 2026-11-03. FAQ di Ollama: server proxy / nginx: ngx_http_proxy_module
Tutto avviene nel tuo browser. Nulla di ciò che inserisci viene inviato da nessuna parte.
Per impostazione predefinita Ollama ascolta solo sul server stesso, e le FAQ di Ollama non descrivono alcuna autenticazione per esso. Quando un'altra macchina deve raggiungerlo, le FAQ indicano un server proxy come nginx, con un esempio che inoltra le richieste a http://localhost:11434 e imposta l'intestazione Host su localhost:11434. Questo strumento sviluppa quell'esempio con direttive della documentazione di nginx: listen 443 ssl con un certificato e una chiave, un server sulla porta 80 che reindirizza a HTTPS, auth_basic con un file di password, allow e deny per gli indirizzi, client_max_body_size, proxy_http_version 1.1, proxy_buffering off per lo streaming e proxy_read_timeout per una prima risposta lenta. La combinazione è nostra, non un singolo esempio dei documenti, quindi l'abbiamo provata: l'output ha superato nginx -t sull'immagine ufficiale di nginx 1.29.8 e su nginx 1.24.0 di Ubuntu 24.04, e attraverso nginx 1.29.8 abbiamo raggiunto Ollama 0.40.11 solo con la password giusta, abbiamo visto arrivare una risposta in streaming in 81 pezzi e abbiamo ottenuto 403 da un indirizzo fuori dall'elenco dei consentiti.
La logica principale di questo strumento è open source, con licenza MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-nginx.ts
Casi d'uso
- Raggiungere Ollama su un VPS dal tuo portatile o da un altro server, con password e HTTPS
- Far raggiungere Ollama solo dall'indirizzo del tuo ufficio o di casa, oltre alla password
- Risolvere risposte che arrivano tutte insieme, o connessioni che si chiudono mentre un modello grande è ancora in caricamento
Utilizzo
- Inserisci il nome di dominio e, se Ollama non è sullo stesso server alla porta 11434, l'indirizzo a cui nginx deve inoltrare. Attiva HTTPS e inserisci i percorsi del tuo certificato e della tua chiave privata.
- Scegli come limitare l'accesso: una password, un elenco di indirizzi consentiti, o entrambi. Con entrambi, una richiesta deve superare i due controlli, perché la direttiva satisfy di nginx vale all per impostazione predefinita. Lascia attivo lo streaming e aumenta il timeout se il tuo modello impiega molto a caricarsi.
- Salva la configurazione come /etc/nginx/conf.d/ollama.conf, crea il file delle password con il comando htpasswd mostrato, poi esegui nginx -t e ricarica nginx.
FAQ
Perché l'intestazione Host è sempre localhost:11434?
È ciò che imposta l'esempio delle FAQ di Ollama. Ollama rifiuta le richieste la cui intestazione Host indica un host che non conosce: quando abbiamo provato Ollama 0.40.11, Host: ollama.example.com ha ottenuto 403 mentre localhost:11434 e perfino localhost:9999 hanno ottenuto 200. Inviare localhost:11434 fa sì che la richiesta venga accettata qualunque sia il nome usato dal visitatore.
Perché disattivare proxy_buffering?
Ollama trasmette una risposta pezzo per pezzo. La documentazione di nginx dice che quando il buffering è disattivato la risposta viene passata al client in modo sincrono, subito mentre viene ricevuta; quando è attivo, nginx salva prima la risposta nei buffer. Con il buffering disattivato, la risposta del nostro test è arrivata in 81 pezzi in circa sei secondi.
Cosa cambia proxy_read_timeout?
La documentazione di nginx dice che il timeout, di 60 secondi per impostazione predefinita, vale solo tra due letture successive, non per l'intera risposta, e che la connessione viene chiusa se il server in proxy non invia nulla entro quel tempo. La nostra lettura, non un'affermazione dei documenti: un modello ancora in caricamento in memoria può restare in silenzio per più di un minuto su un piccolo server, quindi un valore più alto evita una connessione chiusa.
Quale file legge nginx?
Sia l'immagine ufficiale di nginx sia il pacchetto nginx di Ubuntu 24.04 includono /etc/nginx/conf.d/*.conf dentro il blocco http di nginx.conf, quindi un file salvato lì viene letto. Altre installazioni possono usare una directory diversa; controlla le righe include del tuo nginx.conf.
Come creo il file delle password?
La documentazione di nginx cita l'utilità htpasswd di Apache e openssl passwd, senza dare comandi. Lo strumento mostra htpasswd -c con il file e il nome utente che hai inserito. Su Ubuntu, htpasswd si trova nel pacchetto apache2-utils. La documentazione di Apache dice che -c crea il file e che un file esistente viene riscritto e troncato, quindi ometti -c quando aggiungi un secondo utente.
Viene inviato qualcosa a un server?
No. La configurazione viene composta nel tuo browser.
Articoli correlati
- Tenere d'occhio la memoria di Ollama su una piccola VPSScopri cosa Ollama tiene in memoria, per quanto tempo e quali impostazioni lo cambiano: ollama ps, keep_alive e i limiti, dalle FAQ ufficiali.
- Collegare Dify a Ollama sul proprio VPSEsegui Dify sul tuo VPS e usa Ollama come modello: installazione, campi del plugin, il problema dell'indirizzo in Docker e gli embedding, dalla documentazione ufficiale.
- Avviare un LLM locale senza un PC costoso: guida per principianti all'uso di una VPSNon hai un PC potente? Affitta una VPS ed esegui un piccolo LLM locale dal browser: sei passaggi, dalla stima della memoria a una chat protetta, con i limiti dichiarati con onestà.