一文搞定Ollama跨域难题!
创作时间:
作者:
@小白创作中心
一文搞定Ollama跨域难题!
引用
github
等
5
来源
1.
https://github.com/ollama/ollama/issues/4001
2.
https://github.com/ollama/ollama/issues/300
3.
https://github.com/ollama/ollama-js/issues/73
4.
https://github.com/ollama/ollama/issues/2335
5.
https://www.restack.io/p/ollama-answer-environment-variables-cat-ai
在使用Ollama时,你可能会遇到跨域资源共享(CORS)问题,特别是在尝试从手机或其他设备访问时。本文将为你提供详细的解决方案,帮助你轻松解决这一问题。
跨域问题原理简述
跨域问题源于浏览器的同源策略,当一个网页尝试访问不同源(域名、协议或端口)的资源时,浏览器会阻止这种请求,以保护用户安全。为了解决这个问题,我们需要正确配置Ollama的CORS设置。
Ollama的CORS配置方法
Ollama提供了环境变量来控制CORS设置。主要需要配置两个环境变量:
OLLAMA_HOST:用于指定Ollama服务监听的主机地址OLLAMA_ORIGINS:用于设置允许跨域请求的来源
具体配置步骤
以下是不同操作系统下的配置方法:
Linux/macOS
停止正在运行的Ollama服务:
pkill ollama设置环境变量并重启服务:
export OLLAMA_HOST=0.0.0.0 # 允许外部访问 export OLLAMA_ORIGINS="*" # 允许所有域名跨域(测试用) ollama serve
Windows(PowerShell)
停止Ollama服务(通过任务管理器结束进程)
设置环境变量并重启:
$env:OLLAMA_HOST="0.0.0.0" $env:OLLAMA_ORIGINS="*" ollama serve
验证配置是否生效
你可以通过以下方式验证CORS配置是否生效:
使用curl检查响应头:
curl -I http://localhost:11434/api/tags
如果看到以下响应头,说明配置成功:
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
安全注意事项
在生产环境中,不建议使用通配符*来允许所有来源。而是应该指定具体的域名:
export OLLAMA_ORIGINS="https://your-domain.com,http://localhost:3000"
常见问题排查
配置未生效
- 确保Ollama服务完全重启(彻底终止旧进程)
- 检查环境变量是否在启动服务前设置
浏览器控制台仍报CORS错误
- 清除浏览器缓存
- 检查请求URL是否包含端口号(如
:11434)
仅需临时测试
可以在浏览器中安装CORS解除插件(如Chrome的CORS Unblock),但仅限开发调试使用。
通过以上配置,你的Ollama服务将允许跨域请求。如果需要外网访问,请务必加强安全防护(如设置身份验证)。
热门推荐
金融建模中的随机数生成:预测市场行为
如何写出简洁优雅的代码
许三多教你如何打造虚构士兵形象
克服三大障碍,用股票投资实现财务自由
中国股市波动:经济命脉的晴雨表
教鹦鹉说话,你家鹦鹉学会第一句话了吗?
解码鹦鹉心理:从社交到情感,你真的了解你的鹦鹉吗?
从荒芜到丰收:乡村振兴中的农田改造之路
黄土高原荒地里的先锋植物:生态恢复的“开路先锋”
《海贼王》25周年限定周边大揭秘!
路飞最新冒险篇章:艾尔巴夫的秘密
《海贼王》真人剧爆火:口碑评分双丰收,成功秘诀是什么?
文化中国行丨城联之下拜大年・无锡的非遗年味
体脂率,不是健康身材的唯一标准
传承上千年!这一古代水利工程至今仍在发挥作用
英超 富勒姆vs伯恩茅斯比赛前瞻
奇门遁甲八门:从古代术数到现代人生智慧
看看这些城市如何通过城市更新让老街区焕发新活力
自我认知的8大秘籍,助你升级心态!
秋冬咳嗽,冰糖雪梨和盐蒸橙子哪个更有效?
林芳兵VS周洁:谁是荧幕上最美的杨贵妃?
杨贵妃:一位舞蹈家的传奇人生
对联大赛来袭!快来秀出你的语文素养吧
春节倒计时:如何用书法写一副好春联?
春节对联巧构思:从古诗词中找灵感
春节对联:从桃符到文化传承
春节对联创作大赛:赢取大奖!
百年卤味30年特制老卤水配方秘诀
真抓实干:职场新人快速成长的金钥匙
《哪吒》中的成见寓言:从银幕到现实的反思