网站背景图
尋鯨錄のBlog 认为悲惨的话就反抗,心存懊悔的话就前进,只会为不幸哀叹的你,连猪都不如。
博主

36分钟前在线

尋鯨錄のBlog
那些刻在椅子背后的爱情,会不会像水泥上的花朵,开出没有风的,寂寞的森林。

滇ICP备2023007716号-1

滇公网安备53032202530370号

本站支持IPv6访问

腾讯云雨云站点地图

Powered by Typecho & Sunny

2 online · 46 ms

Title

宝塔 Nginx 跨域

尋鯨錄

·

Article

AI摘要

本文介绍了宝塔Nginx跨域(CORS)配置方法,包括跨域原理、常见报错、核心思路、宝塔面板操作步骤以及生产环境安全配置,帮助开发者轻松解决跨域问题。
218.png

宝塔 Nginx 跨域(CORS)

「让任何域名都能安心调用你的图片 / API / 字体」


1. 一张图看懂「跨域」本质

♾️ text 代码:
浏览器问:『这资源我能拿吗?』
服务器答:『可以,名单在这里👇』
名称一句话解释
Origin协议 + 域名 + 端口,任一不同即跨域
CORS服务器用响应头告诉浏览器“我允许谁访问”
预检请求非简单请求会先发OPTIONS,服务器必须回正确头,否则直接拦截

2. 常见报错截图(一眼认出)

跨域报错
只要看到 No 'Access-Control-Allow-Origin' 就是 CORS 被拦。

3. 核心思路:在「资源服务器」声明放行

调用场景配置位置
A 站页面要加载 B 站图片B 站 Nginx 加响应头
A 站前端要请求 B 站接口B 站 Nginx / 后端加响应头

⚠️ 改的是被请求方,不是请求方!


4. 宝塔面板 30 秒搞定(动图级步骤)

① 进入「资源站点」→ 设置 → 配置文件

配置文件位置

② 在 server☑️ 段任意位置插入(一键复制)

♾️ nginx 代码:
# ========== CORS 通用 Start ==========
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
# ========== CORS 通用 End ==========
环境建议
开发 /测试* 最快
生产改成具体域名,如https://yourdomain.com

③ 保存 → 软件商店 → Nginx → 重启

重启 Nginx

5. 生产环境「更安全」写法速查

需求配置片段注意
仅允许指定域名add_header Access-Control-Allow-Origin https://a.com;不能同时出现多条
需携带 Cookie同上句 +
add_header Access-Control-Allow-Credentials true;
1. 不能用*
2. 前端需 withCredentials=true
只给静态资源用 `location ~*.(jpgjpeg

6. 一键验证是否生效

♾️ bash 代码:
# 把 https://your-b.com/logo.png 换成你的真实资源地址
curl -I -H "Origin: https://example.com" https://your-b.com/logo.png

成功返回示例

♾️ text 代码:
HTTP/2 200
access-control-Allow-Origin: *

看到 access-control-allow-origin 即成功,刷新浏览器即可。


7. 结语:跨域不是坑,是浏览器在守门

只要你在资源服务器礼貌地加上响应头,浏览器自然放行。
宝塔面板把「写配置 → 重载」变成可视化 30 秒操作,零命令行也能搞定!


现在已有 49 次阅读,0 条评论,2 人点赞
Comment:共0条
发表
搜索 消息 足迹
你还不曾留言过..
你还不曾留下足迹..
博主 不再显示
博主
未知作品 歌曲封面
博主 立即安装
前往评论 切换字号