Page Assist项目Ollama调用403错误的解决方案解析

Page Assist项目Ollama调用403错误的解决方案解析

【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 【免费下载链接】page-assist 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist

问题背景

在Page Assist项目中,用户在使用Ollama本地服务时遇到了一个典型的403状态码错误。该问题表现为:在首次对话中可以成功激活"Search Internet"功能,但在同一会话的后续尝试中会出现"Ollama call failed with status code 403"的错误提示。

技术分析

403状态码在HTTP协议中表示"禁止访问"(Forbidden),这通常是由于跨域资源共享(CORS)策略限制导致的。在本地开发环境中,当Web应用尝试访问不同源(协议+域名+端口)的资源时,浏览器会强制执行CORS策略检查。

Ollama作为本地AI服务运行在特定端口,而Page Assist作为浏览器扩展运行在浏览器环境中,两者属于不同的源。虽然Page Assist尝试通过重写请求头来解决这个问题,但在某些浏览器(如Chrome)中,这种解决方案并不总是可靠。

解决方案

最根本的解决方案是通过配置Ollama服务本身来放宽CORS限制。具体方法是在运行Ollama的环境中设置以下环境变量:

OLLAMA_ORIGINS=*

这个配置告诉Ollama服务接受来自任何源的请求,从而解决跨域问题。

各平台配置方法

Windows系统
  1. 通过开始菜单搜索"环境变量"
  2. 选择"编辑系统环境变量"
  3. 在系统属性窗口中点击"环境变量"
  4. 在系统变量部分点击"新建"
    • 变量名:OLLAMA_ORIGINS
    • 变量值:*
  5. 保存更改后重启Ollama服务
macOS系统
  1. 打开终端应用
  2. 编辑shell配置文件:
    • Bash用户:nano ~/.bash_profile
    • Zsh用户:nano ~/.zshrc
  3. 在文件末尾添加:
    export OLLAMA_ORIGINS=*
    
  4. 保存文件后执行source命令使配置生效
  5. 重启Ollama服务
Linux系统
  1. 打开终端
  2. 编辑shell配置文件:
    • Bash用户:nano ~/.bashrc
    • Zsh用户:nano ~/.zshrc
  3. 在文件末尾添加:
    export OLLAMA_ORIGINS=*
    
  4. 保存文件后执行source命令使配置生效
  5. 重启Ollama服务

安全考虑

虽然将OLLAMA_ORIGINS设置为星号(*)可以解决跨域问题,但这会允许任何网站访问您的Ollama服务。在生产环境中,建议指定具体的允许来源,例如:

OLLAMA_ORIGINS=http://localhost:3000,http://127.0.0.1:3000

这样可以限制只允许特定来源的请求,提高安全性。

总结

通过正确配置Ollama服务的CORS策略,可以有效解决Page Assist项目中出现的403访问错误。这种解决方案不仅适用于Page Assist,对于其他需要与本地Ollama服务交互的Web应用也同样适用。开发者在处理类似问题时,应该优先考虑在服务端解决CORS限制,而不是依赖客户端的变通方案。

对于普通用户来说,按照上述步骤配置环境变量后,即可获得稳定的使用体验。而对于开发者,理解CORS机制有助于更好地设计和调试分布式应用架构。

【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 【免费下载链接】page-assist 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值