~/tools / Chạy LLM cục bộ trên máy chủ của bạn / Ollama nginx Config Generator
Ollama nginx Config Generator — Tạo cấu hình nginx cho Ollama: HTTPS, xác thực cơ bản, danh sách được phép, truyền luồng
Tạo khối server của nginx để đặt Ollama phía sau một proxy: HTTPS với chứng chỉ của bạn, chuyển hướng từ cổng 80, mật khẩu bằng xác thực cơ bản, danh sách địa chỉ được phép, và các thiết lập giúp câu trả lời được truyền theo luồng đến ngay khi nó được viết ra. Nó bắt đầu từ ví dụ proxy trong FAQ chính thức của Ollama và chỉ dùng các chỉ thị có trong tài liệu nginx. Dữ liệu không rời khỏi trình duyệt của bạn.
Cấu hình nginx
Lưu thành /etc/nginx/conf.d/ollama.conf. Sự kết hợp các chỉ thị là của chúng tôi, nên hãy luôn chạy nginx -t trước khi nạp lại.
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;
}
}
Lệnh
htpasswd sẽ hỏi mật khẩu. Tùy chọn -c của nó tạo một tệp mới, và tệp đã có sẽ bị ghi lại, nên hãy bỏ nó khi thêm người dùng thứ hai. Trên Ubuntu, htpasswd nằm trong gói apache2-utils.
sudo htpasswd -c /etc/nginx/ollama.htpasswd alice sudo nginx -t sudo nginx -s reload
Các chỉ thị và giá trị mặc định theo tài liệu nginx và ví dụ proxy trong FAQ của Ollama, kiểm tra vào ngày 2026-11-03. Ollama FAQ: máy chủ proxy / nginx: ngx_http_proxy_module
Mọi thứ được xử lý trong trình duyệt của bạn. Không có gì bạn nhập được gửi đi đâu cả.
Ollama mặc định chỉ lắng nghe trên chính máy chủ, và FAQ của Ollama không mô tả cơ chế xác thực nào cho nó. Khi một máy khác cần truy cập, FAQ chỉ đến một máy chủ proxy như nginx, kèm ví dụ chuyển tiếp các yêu cầu đến http://localhost:11434 và đặt header Host thành localhost:11434. Công cụ này xây dựng trên ví dụ đó với các chỉ thị từ tài liệu nginx: listen 443 ssl với chứng chỉ và khóa, một server ở cổng 80 chuyển hướng sang HTTPS, auth_basic với tệp mật khẩu, allow và deny cho địa chỉ, client_max_body_size, proxy_http_version 1.1, proxy_buffering off cho việc truyền luồng, và proxy_read_timeout cho câu trả lời đầu tiên chậm. Sự kết hợp này là của chúng tôi, không phải một ví dụ duy nhất trong tài liệu, nên chúng tôi đã kiểm tra: kết quả vượt qua nginx -t trên image nginx chính thức 1.29.8 và trên nginx 1.24.0 của Ubuntu 24.04; qua nginx 1.29.8, chúng tôi chỉ truy cập được Ollama 0.40.11 khi có đúng mật khẩu, thấy một câu trả lời truyền theo luồng đến thành 81 mảnh, và nhận 403 từ một địa chỉ ngoài danh sách được phép.
Phần xử lý chính của công cụ này là mã nguồn mở theo giấy phép MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-nginx.ts
Trường hợp dùng
- Truy cập Ollama trên một VPS từ laptop hoặc máy chủ khác, với mật khẩu và HTTPS
- Chỉ cho địa chỉ văn phòng hoặc nhà bạn truy cập Ollama, ngoài mật khẩu
- Sửa tình trạng câu trả lời đến một lần cùng lúc, hoặc kết nối bị đóng khi một mô hình lớn vẫn đang được tải
Cách dùng
- Nhập tên miền và, nếu Ollama không nằm trên cùng máy chủ ở cổng 11434, cả địa chỉ mà nginx sẽ chuyển tiếp đến. Bật HTTPS và nhập đường dẫn của chứng chỉ và khóa riêng.
- Chọn cách giới hạn truy cập: mật khẩu, danh sách địa chỉ được phép, hoặc cả hai. Khi dùng cả hai, một yêu cầu phải qua cả hai, vì chỉ thị satisfy của nginx mặc định là all. Giữ chế độ truyền luồng bật, và tăng thời gian chờ nếu mô hình của bạn tải lâu.
- Lưu cấu hình thành /etc/nginx/conf.d/ollama.conf, tạo tệp mật khẩu bằng lệnh htpasswd được hiển thị, rồi chạy nginx -t và nạp lại nginx.
Hỏi đáp
Tại sao header Host luôn là localhost:11434?
Đó là điều ví dụ trong FAQ của Ollama đặt. Ollama từ chối các yêu cầu có header Host nêu một máy chủ mà nó không biết: khi chúng tôi kiểm tra Ollama 0.40.11, Host: ollama.example.com nhận 403, còn localhost:11434 và thậm chí localhost:9999 nhận 200. Gửi localhost:11434 giúp yêu cầu luôn được chấp nhận dù người truy cập dùng tên nào.
Tại sao tắt proxy_buffering?
Ollama truyền câu trả lời theo luồng, từng mảnh một. Tài liệu nginx nói rằng khi tắt bộ đệm, phản hồi được chuyển đến client một cách đồng bộ, ngay khi nhận được; khi bật, nginx lưu phản hồi vào bộ đệm trước. Khi tắt, câu trả lời trong bài kiểm tra của chúng tôi đến thành 81 mảnh trong khoảng sáu giây.
proxy_read_timeout thay đổi điều gì?
Tài liệu nginx nói rằng thời gian chờ này, mặc định 60 giây, chỉ được áp dụng giữa hai lần đọc liên tiếp chứ không phải cho toàn bộ phản hồi, và kết nối bị đóng nếu máy chủ được proxy không gửi gì trong khoảng đó. Cách hiểu của chúng tôi, không phải lời của tài liệu: một mô hình vẫn đang được tải vào bộ nhớ có thể im lặng lâu hơn một phút trên một máy chủ nhỏ, nên giá trị cao hơn giúp tránh việc kết nối bị đóng.
nginx đọc tệp nào?
Cả image nginx chính thức lẫn gói nginx của Ubuntu 24.04 đều include /etc/nginx/conf.d/*.conf bên trong khối http của nginx.conf, nên một tệp lưu ở đó sẽ được đọc. Các cách cài đặt khác có thể dùng thư mục khác; hãy kiểm tra các dòng include trong nginx.conf của bạn.
Tạo tệp mật khẩu như thế nào?
Tài liệu nginx nhắc đến tiện ích htpasswd của Apache và openssl passwd, nhưng không đưa ra lệnh. Công cụ hiển thị htpasswd -c với tệp và tên người dùng bạn đã nhập. Trên Ubuntu, htpasswd nằm trong gói apache2-utils. Tài liệu Apache nói rằng -c tạo tệp và một tệp đã có sẽ bị ghi lại và cắt ngắn, vì vậy hãy bỏ -c khi thêm người dùng thứ hai.
Có gì được gửi đến máy chủ không?
Không. Cấu hình được ghép ngay trong trình duyệt của bạn.
Bài viết liên quan
- Theo dõi bộ nhớ của Ollama trên VPS nhỏXem Ollama giữ gì trong bộ nhớ, giữ bao lâu và thiết lập nào thay đổi điều đó: ollama ps, keep_alive và các giới hạn, theo FAQ chính thức.
- Kết nối Dify với Ollama trên VPS của riêng bạnChạy Dify trên VPS của riêng bạn và dùng Ollama làm mô hình: cài đặt, các trường của plugin, vấn đề địa chỉ trong Docker và embedding, theo tài liệu chính thức.
- Chạy LLM cục bộ mà không cần PC đắt tiền: hướng dẫn dùng VPS cho người mớiKhông có PC mạnh? Hãy thuê một VPS và chạy một LLM cục bộ nhỏ ngay trong trình duyệt: sáu bước từ ước tính bộ nhớ đến màn hình chat được bảo vệ, với các giới hạn được nêu trung thực.