~/tools / Rodar um LLM local no seu servidor / Ollama nginx Config Generator
Ollama nginx Config Generator — Crie uma configuração do nginx para o Ollama: HTTPS, autenticação básica, lista de permitidos, streaming
Crie um bloco server do nginx que coloca o Ollama atrás de um proxy: HTTPS com o seu certificado, um redirecionamento a partir da porta 80, uma senha com autenticação básica, uma lista de endereços permitidos e ajustes para que as respostas em streaming cheguem conforme são escritas. Ele parte do exemplo de proxy do FAQ oficial do Ollama e usa apenas diretivas da documentação do nginx. Nada sai do seu navegador.
Configuração do nginx
Salve como /etc/nginx/conf.d/ollama.conf. A combinação de diretivas é nossa, então execute sempre nginx -t antes de recarregar.
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;
}
}
Comandos
O htpasswd pede a senha. A opção -c cria um arquivo novo e um arquivo existente é reescrito, então deixe-a de fora ao adicionar um segundo usuário. No Ubuntu, o htpasswd está no pacote apache2-utils.
sudo htpasswd -c /etc/nginx/ollama.htpasswd alice sudo nginx -t sudo nginx -s reload
Diretivas e valores padrão conforme a documentação do nginx e o exemplo de proxy do FAQ do Ollama, conferidos em 2026-11-03. FAQ do Ollama: servidor proxy / nginx: ngx_http_proxy_module
Tudo é feito no seu navegador. Nada do que você digita é enviado a lugar nenhum.
Por padrão, o Ollama escuta apenas no próprio servidor, e o FAQ do Ollama não descreve nenhuma autenticação para ele. Quando outra máquina precisa acessá-lo, o FAQ aponta para um servidor proxy como o nginx, com um exemplo que encaminha as requisições para http://localhost:11434 e define o cabeçalho Host como localhost:11434. Esta ferramenta se baseia nesse exemplo com diretivas da documentação do nginx: listen 443 ssl com um certificado e uma chave, um servidor na porta 80 que redireciona para HTTPS, auth_basic com um arquivo de senhas, allow e deny para os endereços, client_max_body_size, proxy_http_version 1.1, proxy_buffering off para o streaming e proxy_read_timeout para uma primeira resposta lenta. A combinação é nossa, não um único exemplo dos documentos, então a testamos: a saída passou no nginx -t na imagem oficial do nginx 1.29.8 e no nginx 1.24.0 do Ubuntu 24.04, e, pelo nginx 1.29.8, chegamos ao Ollama 0.40.11 apenas com a senha correta, vimos uma resposta em streaming chegar em 81 pedaços e recebemos 403 de um endereço fora da lista de permitidos.
A lógica principal desta ferramenta é de código aberto, sob a licença MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-nginx.ts
Casos de uso
- Acessar o Ollama em uma VPS a partir do seu notebook ou de outro servidor, com senha e HTTPS
- Deixar que apenas o endereço do seu escritório ou da sua casa chegue ao Ollama, além da senha
- Corrigir respostas que chegam todas de uma vez, ou conexões que fecham enquanto um modelo grande ainda está sendo carregado
Como usar
- Informe o nome de domínio e, se o Ollama não estiver no mesmo servidor na porta 11434, o endereço para o qual o nginx deve encaminhar. Ative o HTTPS e informe os caminhos do seu certificado e da sua chave privada.
- Escolha como limitar o acesso: uma senha, uma lista de endereços permitidos ou ambos. Com os dois, uma requisição precisa passar pelos dois, porque a diretiva satisfy do nginx é all por padrão. Mantenha o streaming ativado e aumente o tempo limite se o seu modelo demorar a carregar.
- Salve a configuração como /etc/nginx/conf.d/ollama.conf, crie o arquivo de senhas com o comando htpasswd mostrado, depois execute nginx -t e recarregue o nginx.
FAQ
Por que o cabeçalho Host é sempre localhost:11434?
É o que o exemplo do FAQ do Ollama define. O Ollama recusa requisições cujo cabeçalho Host nomeia um host que ele não conhece: quando testamos o Ollama 0.40.11, Host: ollama.example.com recebeu 403, enquanto localhost:11434 e até localhost:9999 receberam 200. Enviar localhost:11434 faz a requisição ser aceita seja qual for o nome que o visitante usou.
Por que desativar proxy_buffering?
O Ollama envia uma resposta pedaço por pedaço. A documentação do nginx diz que, quando o buffering está desativado, a resposta é passada ao cliente de forma síncrona, imediatamente conforme é recebida; quando está ativado, o nginx salva primeiro a resposta em buffers. Com ele desativado, a resposta do nosso teste chegou em 81 pedaços ao longo de cerca de seis segundos.
O que o proxy_read_timeout muda?
A documentação do nginx diz que o tempo limite, de 60 segundos por padrão, vale apenas entre duas leituras sucessivas, não para a resposta inteira, e que a conexão é fechada se o servidor proxificado não enviar nada dentro dele. Nossa leitura, não uma afirmação dos documentos: um modelo que ainda está sendo carregado na memória pode ficar em silêncio por mais de um minuto em um servidor pequeno, então um valor maior evita uma conexão fechada.
Que arquivo o nginx lê?
Tanto a imagem oficial do nginx quanto o pacote nginx do Ubuntu 24.04 incluem /etc/nginx/conf.d/*.conf dentro do bloco http do nginx.conf, então um arquivo salvo ali é lido. Outras instalações podem usar um diretório diferente; confira as linhas include do seu nginx.conf.
Como crio o arquivo de senhas?
A documentação do nginx cita o utilitário htpasswd do Apache e o openssl passwd, sem dar comandos. A ferramenta mostra htpasswd -c com o arquivo e o nome de usuário que você informou. No Ubuntu, o htpasswd vem no pacote apache2-utils. A documentação do Apache diz que -c cria o arquivo e que um arquivo existente é reescrito e truncado, então deixe o -c de fora ao adicionar um segundo usuário.
Algo é enviado a um servidor?
Não. A configuração é montada no seu navegador.
Artigos relacionados
- Acompanhe a memória do Ollama em uma VPS pequenaVeja o que o Ollama mantém na memória, por quanto tempo e quais configurações mudam isso: ollama ps, keep_alive e os limites, a partir do FAQ oficial.
- Conectar o Dify ao Ollama no seu próprio VPSExecute o Dify no seu próprio VPS e use o Ollama como modelo: instalação, campos do plugin, o problema do endereço no Docker e embeddings, segundo a documentação oficial.
- Rodar um LLM local sem um PC caro: guia para iniciantes sobre como usar uma VPSSem um PC potente? Alugue uma VPS e rode um pequeno LLM local pelo navegador: seis passos, da estimativa de memória até uma tela de chat protegida, com os limites ditos com honestidade.