~/tools / Lokalny LLM na własnym serwerze / Ollama nginx Config Generator
Ollama nginx Config Generator — Zbuduj konfigurację nginx dla Ollama: HTTPS, basic auth, lista dozwolonych adresów, strumieniowanie
Zbuduj blok server nginx, który stawia Ollama za proxy: HTTPS z Twoim certyfikatem, przekierowanie z portu 80, hasło przez uwierzytelnianie podstawowe, listę dozwolonych adresów oraz ustawienia, dzięki którym odpowiedzi strumieniowane docierają w miarę pisania. Punktem wyjścia jest przykład proxy z oficjalnego FAQ Ollama, a użyte są wyłącznie dyrektywy z dokumentacji nginx. Nic nie opuszcza Twojej przeglądarki.
Konfiguracja nginx
Zapisz ją jako /etc/nginx/conf.d/ollama.conf. Kombinacja dyrektyw jest nasza, więc przed przeładowaniem zawsze uruchom nginx -t.
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;
}
}
Polecenia
htpasswd zapyta o hasło. Jego opcja -c tworzy nowy plik, a istniejący plik jest przepisywany, więc pomiń ją, gdy dodajesz drugiego użytkownika. W Ubuntu htpasswd znajduje się w pakiecie apache2-utils.
sudo htpasswd -c /etc/nginx/ollama.htpasswd alice sudo nginx -t sudo nginx -s reload
Dyrektywy i wartości domyślne zgodne z dokumentacją nginx i przykładem proxy z FAQ Ollama, sprawdzone dnia 2026-11-03. FAQ Ollama: serwer proxy / nginx: ngx_http_proxy_module
Wszystko dzieje się w Twojej przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.
Ollama domyślnie nasłuchuje tylko na samym serwerze, a FAQ Ollama nie opisuje dla niej żadnego uwierzytelniania. Gdy musi się z nią połączyć inny komputer, FAQ wskazuje serwer proxy, taki jak nginx, z przykładem, który przekazuje żądania na http://localhost:11434 i ustawia nagłówek Host na localhost:11434. To narzędzie rozbudowuje ten przykład o dyrektywy z dokumentacji nginx: listen 443 ssl z certyfikatem i kluczem, serwer na porcie 80 przekierowujący na HTTPS, auth_basic z plikiem haseł, allow i deny dla adresów, client_max_body_size, proxy_http_version 1.1, proxy_buffering off dla strumieniowania oraz proxy_read_timeout na wolną pierwszą odpowiedź. Ta kombinacja jest nasza, a nie pojedynczym przykładem z dokumentacji, więc ją przetestowaliśmy: wynik przeszedł nginx -t na oficjalnym obrazie nginx 1.29.8 i na nginx 1.24.0 z Ubuntu 24.04, a przez nginx 1.29.8 dotarliśmy do Ollama 0.40.11 tylko z właściwym hasłem, zobaczyliśmy odpowiedź strumieniową docierającą w 81 kawałkach i dostaliśmy 403 z adresu spoza listy dozwolonych adresów.
Główna logika tego narzędzia jest otwartoźródłowa, na licencji MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-nginx.ts
Zastosowania
- Połączyć się z Ollama na VPS-ie z laptopa lub innego serwera, z hasłem i HTTPS
- Wpuszczać do Ollama tylko adres biura lub domu, oprócz hasła
- Naprawić odpowiedzi, które docierają naraz, albo połączenia zamykane, gdy duży model jeszcze się ładuje
Jak używać
- Wpisz nazwę domeny i, jeśli Ollama nie działa na tym samym serwerze na porcie 11434, adres, na który nginx ma przekazywać żądania. Włącz HTTPS i wpisz ścieżki certyfikatu i klucza prywatnego.
- Wybierz sposób ograniczenia dostępu: hasło, listę dozwolonych adresów albo oba. Przy obu żądanie musi spełnić oba warunki, ponieważ dyrektywa satisfy w nginx domyślnie ma wartość all. Zostaw strumieniowanie włączone i zwiększ limit czasu, jeśli Twój model długo się ładuje.
- Zapisz konfigurację jako /etc/nginx/conf.d/ollama.conf, utwórz plik haseł pokazanym poleceniem htpasswd, a następnie uruchom nginx -t i przeładuj nginx.
FAQ
Dlaczego nagłówek Host to zawsze localhost:11434?
Tak ustawia go przykład z FAQ Ollama. Ollama odrzuca żądania, których nagłówek Host wskazuje nieznany jej host: w naszym teście z Ollama 0.40.11 Host: ollama.example.com dostał 403, a localhost:11434 i nawet localhost:9999 dostały 200. Wysyłanie localhost:11434 sprawia, że żądanie jest akceptowane niezależnie od nazwy użytej przez odwiedzającego.
Dlaczego wyłączać proxy_buffering?
Ollama strumieniuje odpowiedź kawałek po kawałku. Dokumentacja nginx mówi, że gdy buforowanie jest wyłączone, odpowiedź jest przekazywana klientowi synchronicznie, od razu po otrzymaniu; gdy jest włączone, nginx najpierw zapisuje odpowiedź w buforach. Przy wyłączonym buforowaniu nasza testowa odpowiedź dotarła w 81 kawałkach w ciągu około sześciu sekund.
Co zmienia proxy_read_timeout?
Dokumentacja nginx mówi, że ten limit czasu, domyślnie 60 sekund, dotyczy tylko przerwy między dwoma kolejnymi odczytami, a nie całej odpowiedzi, i że połączenie jest zamykane, jeśli serwer za proxy nic w tym czasie nie wyśle. Nasza interpretacja, a nie stwierdzenie z dokumentacji: model, który wciąż ładuje się do pamięci, może na małym serwerze milczeć dłużej niż minutę, więc wyższa wartość pozwala uniknąć zamkniętego połączenia.
Jaki plik czyta nginx?
Zarówno oficjalny obraz nginx, jak i pakiet nginx z Ubuntu 24.04 dołączają /etc/nginx/conf.d/*.conf wewnątrz bloku http w nginx.conf, więc zapisany tam plik jest czytany. Inne instalacje mogą używać innego katalogu; sprawdź wiersze include w swoim nginx.conf.
Jak utworzyć plik haseł?
Dokumentacja nginx wymienia narzędzie htpasswd z Apache oraz openssl passwd, nie podając poleceń. Narzędzie pokazuje htpasswd -c z podanym przez Ciebie plikiem i nazwą użytkownika. W Ubuntu htpasswd znajduje się w pakiecie apache2-utils. Dokumentacja Apache mówi, że -c tworzy plik, a istniejący plik jest przepisywany i obcinany, więc pomiń -c, gdy dodajesz drugiego użytkownika.
Czy cokolwiek jest wysyłane na serwer?
Nie. Konfiguracja jest składana w Twojej przeglądarce.
Powiązane artykuły
- Pamięć Ollamy na małym VPS-ie: jak ją obserwowaćZobacz, co Ollama trzyma w pamięci, jak długo i które ustawienia to zmieniają: ollama ps, keep_alive i limity, według oficjalnego FAQ.
- Połącz Dify z Ollamą na własnym VPSUruchom Dify na własnym VPS i użyj Ollamy jako jego modelu: instalacja, pola wtyczki, problem z adresem w Dockerze i embeddingi, na podstawie oficjalnej dokumentacji.
- Lokalny LLM bez drogiego komputera: poradnik dla początkujących, jak użyć VPSNie masz mocnego komputera? Wynajmij VPS i uruchom mały lokalny LLM z poziomu przeglądarki: sześć kroków od oszacowania pamięci po chroniony ekran czatu, z uczciwie opisanymi ograniczeniami.