惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
Jina AI
Jina AI
B
Blog
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
腾讯CDC
C
Check Point Blog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
罗磊的独立博客
B
Blog RSS Feed
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 叶小钗
M
MIT News - Artificial intelligence
GbyAI
GbyAI

博客园 - 我爱我家喵喵

LookImage2:用 Rust 打造的轻量级专业图像查看器 bat以隐藏模式运行jar包 完美单机155端gs修改:允许10次转生 [Docker] 部署 Nexus Repository OSS 仓库 [docker] 部署 AnythingLLM [docker] 部署 Seata 分布式事务 [docker] 部署 Nacos 服务 CEF 谷歌内核下载地址 [Delphi] 自带皮肤动态切换 [VUE] WebPack 打包后自动修改 dist 中 package.json 版本号 【算法】python版A-Star(A星)寻路 【算法】决策树算法:ID3 【算法】K-means 算法学习 【Unity】使用VSCode调试 [Python] 基于 flask 构建 Web API 实现参数注入和校验 [Redis] 解决多个 Redis 服务同步删除有关联的 key [C#] JavaScript 引擎 [MySql] 数据库死锁的排查和相关知识 [redis] 设置密码 [Java] 扩展 Jackson 的 TypeReference 支持泛型参数传递
[nginx] 使用nginx代理实现Ollama支持本地html访问
我爱我家喵喵 · 2025-02-24 · via 博客园 - 我爱我家喵喵

Ollama 可以用来快速部署种种AI大模型、嵌入模型,比如 DeepSeek。

其自身也可以通过环境配置实现跨域支持,比如在 windows 中部署的 ollama,可以在环境变量中增加 OLLAMA_HOST=0.0.0.0:11434 来指定监听的网络端口和绑定的IP地址,OLLAMA_ORIGINS=* 允许跨域,OLLAMA_MODELS=D:\models 指定模型存放位置等。

我们也可以使用 nginx 代理实现跨域支持,修改 nginx 的 nginx.conf (一般位于 etc\nginx\nginx.conf):

... 

http {
    ...
    # 添加 Origin 映射,如果请求的 `origin` 为 `null` 则设为 `http://127.0.0.1` (本地html直接请求时会是null)
    map $http_origin $origin {
        default $http_origin;
        "null" "http://127.0.0.1";
    }
    ...
    server {
        ...
        location /ollama/ {    
            if ($request_method = 'OPTIONS') {
              # 只需要返回状态 200 和 CORS 头部
              add_header Access-Control-Allow-Origin *;
              add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE';
              add_header Access-Control-Allow-Headers 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
              add_header Access-Control-Max-Age 3600;
              return 204;
            }
            proxy_set_header Origin $origin;
            proxy_pass http://127.0.0.1:11434/;             
            add_header Access-Control-Allow-Origin '*' always;  # 允许任何源访问
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';  # 允许的请求方法
            add_header Access-Control-Allow-Headers 'Content-Type';  # 允许的请求头
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_cache off; 
            proxy_set_header Content-Type '';            
        }
        ...
    }
}


保存配置并重启 nginx 服务后,假如 nginx 服务开的端口是 1234, 就可以通过 http://127.0.0.1:1234/ollama 来代替 http://127.0.0.1:11434 跨域访问了。