DeepSeekOCR跨域设置教程:CORS配置详解
时间:2025-11-25 16:55:01 477浏览 收藏
本文针对DeepSeekOCR本地部署时遇到的跨域问题,提供详细的CORS配置教程,助力开发者解决前端请求受阻的难题。首先解释了CORS(跨域资源共享)机制,并针对常用的Python后端框架Flask和FastAPI,分别给出了具体的CORS配置方法。对于Flask,推荐使用flask-cors库,通过`CORS(app)`允许跨域访问,并强调生产环境应限定具体域名,避免安全风险。FastAPI则可通过`CORSMiddleware`中间件进行配置,设置`allow_origins`等参数。此外,文章还介绍了其他临时解决方案,如代理服务器和Nginx反向代理,但建议优先采用CORS配置。最后,指导读者如何验证CORS配置是否生效,确保前端能够成功调用本地DeepSeekOCR接口,并再次强调生产环境限定域名的重要性。
要解决DeepSeekOCR本地部署的跨域问题,需在后端配置CORS。若使用Flask,可安装flask-cors并用CORS(app)允许跨域;若使用FastAPI,可通过add_middleware添加CORSMiddleware,设置allow_origins等参数。建议生产环境限定具体域名,避免使用通配符带来安全风险。

DeepSeekOCR 本地部署时,如果前端页面与 OCR 服务不在同一域名或端口下,浏览器会因安全策略阻止请求,出现跨域问题。要解决这个问题,需在后端服务中配置 CORS(跨域资源共享),允许指定的源访问接口。
什么是CORS
CORS(Cross-Origin Resource Sharing)是浏览器的一种安全机制,用于限制一个源(origin)的网页向另一个源的服务器发起请求。当你的前端运行在 http://localhost:3000,而 DeepSeekOCR 服务运行在 http://localhost:8080 时,就构成了跨域请求,需要开启 CORS 支持。
如何配置CORS(以Flask/FastAPI为例)
大多数本地部署的 DeepSeekOCR 服务基于 Python 框架(如 Flask 或 FastAPI)提供 HTTP 接口。以下是常见框架的 CORS 配置方法:
1. 使用 Flask + flask-cors
安装依赖:
pip install flask-cors
在启动 OCR 服务的主文件中添加 CORS 支持:
from flask import Flask
from flask_cors import CORS
<p>app = Flask(<strong>name</strong>)</p><h1>允许所有域访问(测试环境可用)</h1><p>CORS(app)</p><h1>或者只允许特定域名</h1><h1>CORS(app, origins=["<a target='_blank' href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXpusdyfq5Zkhc3Ge5nam5a1b4XgcaevdX2errKFmoqAjmi0p6dojoailb54etyGla6jhdCbZLGGmKCys5yafbOHpLO6s2qNrKKi' rel='nofollow'>http://localhost:3000</a>", "<a target='_blank' href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyerpmJcJbHoYPamrqqqZrPZZrEZGCerrKFmnlri6Szp82vgnmMmrJ7gt2Ft8iikeB5ZbF2m2i_jYVjibOGsr-3vKKCn4Sa' rel='nofollow'>https://yourdomain.com</a>"])</h1><p>@app.route("/ocr", methods=["POST"])
def ocr():</p><h1>OCR 处理逻辑</h1><pre class="brush:php;toolbar:false"><code>return {"text": "识别结果"}</code>if name == "main": app.run(host="0.0.0.0", port=8080)
2. 使用 FastAPI
FastAPI 内置了对 CORS 的支持,使用 middleware 配置:
from fastapi import FastAPI from starlette.middleware.cors import CORSMiddleware <p>app = FastAPI()</p><h1>添加CORS中间件</h1><p>app.add_middleware( CORSMiddleware, allow_origins=["<em>"], # 可替换为具体域名,如 ["<a target='_blank' href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXpusdyfq5Zkhc3Ge5nam5a1b4XgcaevdX2errKFmoqAjmi0p6dojoailb54etyGla6jhdCbZLGGmKCys5yafbOHpLO6s2qNrKKi' rel='nofollow'>http://localhost:3000</a>"] allow_credentials=True, allow_methods=["</em>"], allow_headers=["*"], )</p>
配置说明:
- allow_origins:允许访问的前端域名,生产环境不建议使用
* - allow_methods:允许的请求方法,如 GET、POST
- allow_headers:允许的请求头字段
其他解决方案(不推荐但可行)
如果你无法修改后端代码,可临时通过以下方式绕过跨域限制:
- 使用代理服务器:在前端开发服务器(如 Vite、Webpack DevServer)中设置代理,将 /api 请求转发到 OCR 服务地址
- 关闭浏览器安全策略(仅测试):启动浏览器时添加参数
--disable-web-security --user-data-dir=/tmp/temp_dev,但存在安全风险 - Nginx反向代理:将前端和 OCR 服务统一通过 Nginx 暴露在同一域名下,避免跨域
验证CORS是否生效
配置完成后,从前端发送请求,查看浏览器开发者工具中的 Network 面板:
- 请求状态应为 200
- 响应头中包含
Access-Control-Allow-Origin - 无 “has been blocked by CORS policy” 错误
基本上就这些。只要在服务启动时正确配置 CORS 中间件,就能顺利实现前端调用本地 DeepSeekOCR 接口。生产环境中建议限定具体的 origin,避免开放 * 带来的安全风险。
今天关于《DeepSeekOCR跨域设置教程:CORS配置详解》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于Flask,cors,跨域问题,FastAPI,DeepSeekOCR的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
375 收藏
-
309 收藏
-
140 收藏
-
399 收藏
-
481 收藏
-
367 收藏
-
152 收藏
-
283 收藏
-
321 收藏
-
372 收藏
-
245 收藏
-
141 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习