ollama接口被nginx转发后出现403报错解决方法

请求ollama的服务接口,应该是有跨域的问题,所以在nginx转发时请求头中需要加入origin,并且origin还要和ollama接口同源(协议、ip、端口一致)。
nginx需要设置请求时的origin请求头

 proxy_set_header origin http://服务器的ip:11434;

nginx主要配置如下

         # 此location块用于转发到后端服务器
        location /api/chat {
            # 设置代理传递给后端服务器的主机头
            proxy_set_header origin http://服务器的ip:11434;
            # 设置代理服务器的协议和地址以及端口
            proxy_pass http://服务器的ip:11434;
            
            # 保持原有请求中的查询参数和请求路径
            # 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_redirect off;
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
            add_header 'Access-Control-Max-Age' 1728000;
            
            # 可选:如果你的后端应用需要根据特定的头信息做处理
            # proxy_set_header Custom-Header some_value;
        }
### 如何在Linux操作系统上部署DeepSeek模型 #### 系统要求 为了成功部署DeepSeek,在Linux服务器或个人计算机上的操作系统需满足特定版本的要求。通常推荐使用较新的稳定版Linux发行版,如Ubuntu 20.04 LTS 或 CentOS 7及以上版本[^1]。 #### 安装基础依赖 对于基于Debian的系统(如Ubuntu),可以通过以下命令来更新包列表并安装必要的软件包: ```bash sudo apt-get update && sudo apt-get install -y build-essential libssl-dev libffi-dev python3-dev ``` 针对Red Hat系列系统(如CentOS/RHEL),则应执行如下操作以准备环境: ```bash sudo yum groupinstall "Development Tools" sudo yum install openssl-devel bzip2-devel libffi-devel python3-devel ``` #### 配置Python虚拟环境 创建一个新的Python虚拟环境有助于隔离不同项目的依赖关系,保持系统的整洁有序。可以按照下面的方式建立和激活虚拟环境: ```bash python3 -m venv deepseek-env source deepseek-env/bin/activate ``` #### 克隆DeepSeek项目 获取最新的源码是启动任何新应用的关键一步。通过Git克隆仓库到本地机器上来获得最新代码: ```bash git clone https://github.com/deepseek-labs/deepseek.git cd deepseek ``` #### 配置MySQL数据库 设置好适当的关系型数据库管理系统(RDBMS),这里选用的是MySQL。初始化数据库结构以及确保能够正常连接至该实例非常重要。 ##### 初始化数据库 进入SQL提示符下运行建表语句或其他初始化脚本完成数据架构搭建工作。 ##### 测试数据库连接 验证应用程序能否顺利连通所配置好的数据库实例,这步可通过编写简单的测试程序实现。 #### 设置环境变量 将敏感信息存放在`.env`文件内,并利用工具读取这些值作为进程中的环境参数传递给应用程序。 #### 启动DeepSeek服务 一切准备工作就绪之后就可以尝试首次启动服务了。一般情况下会有一个管理命令可以帮助简化此过程: ```bash pip install -r requirements.txt python manage.py migrate python manage.py runserver 0.0.0.0:8000 ``` #### 验证服务状态 最后要确认服务已经正确上线并且可以从外部网络访问它所提供的API接口等功能特性。 ##### 本地测试 直接在同一台主机上打开浏览器或者其他HTTP客户端发送请求查看响应情况。 ##### 远程访问 如果是在云平台上架设,则需要开放相应的防火墙规则允许公网IP地址发起TCP连接到达指定端口号。 #### 生产环境优化建议 当考虑长期在线提供服务时,可能还需要做更多额外的工作来提高性能表现和服务稳定性。 ##### 使用Gunicorn部署 替代内置开发服务器的选择之一就是采用像Gunicorn这样的WSGI HTTP Server来进行生产级别的部署。 ##### Nginx反向代理配置 为了让Web流量更高效地路由转发给后端处理单元,可以在前端放置Nginx充当静态资源分发器兼负载均衡的角色。 ##### Systemd服务定义 注册成为System V init兼容的服务单位可以让系统管理员更容易管理和监控这个长时间运行的任务。 #### 解决常见问题 遇到困难时不必惊慌失措,官方文档里往往包含了大量关于排查错误的信息指南供查阅学习。 ##### 处理端口冲突 检查是否有其他正在占用目标监听端口的应用程序,并调整其配置使之不再干扰当前任务。 ##### 权限不足报错 赋予足够的权限使用户账户能够在必要目录中写入日志记录或是修改某些重要文件夹的内容。 ##### 缺少依赖项提醒 仔细阅读错误消息里的提示文字,按指示补充缺少的部分直至完全消除所有告警为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值