当前位置: 首页 > ops >正文

webman用nginx代理静态json文件的异步跨域

场景

.json文件置于webman的public目录下,使用了nginx做代理,直接访问文件是可以正常加载的,但跨域浏览器就无法加载文件。

nginx配置

文件是否存在于跟目录,存在则设置请求头,不存在则将请求交给webman处理即可。()

upstream webman {server 127.0.0.1:9030;keepalive 10240;
}server {listen 80;server_name  api.csdn.net;access_log /var/log/nginx/api.csdn.net.access.log;error_log /var/log/nginx/api.csdn.net.error.log;root /*/*/webman_1/public;location ^~ / {# 静态文件存在则处理 CORSif (-f $request_filename) {set $cors "1";  # 设置标记}# 处理 OPTIONS 请求if ($request_method = OPTIONS) {set $cors "${cors}o";  # 追加标记}# 静态文件存在且  OPTIONS 请求if ($cors = "1o") {add_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;add_header 'Access-Control-Allow-Headers' 'Origin,Content-Type,Accept,Authorization' always;add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain charset=UTF-8';return 204;}# 判断是否是静态文件if (-f $request_filename) {# 添加跨域头(仅对静态文件)add_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;add_header 'Access-Control-Allow-Headers' 'Origin,Content-Type,Accept,Authorization' always;break;  # 静态文件处理结束}#其他请求则交给webman处理proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Proto $scheme;proxy_http_version 1.1;proxy_set_header Connection "";if (!-f $request_filename){proxy_pass http://webman;}}# 拒绝访问所有以 .php 结尾的文件location ~ \.php$ {return 404;}# 拒绝访问所有以 . 开头的文件或目录location ~ /\. {return 404;}
}
http://www.xdnf.cn/news/6877.html

相关文章:

  • 最小二乘法拟合平面(线性回归法、梯度下降、PCA法)
  • 2025年第三届盘古石杯初赛(智能冰箱,监控部分)
  • 深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
  • facebook开源分子化学数据集和模型(OMol25)论文速读
  • 典籍知识问答模块AI问答bug修改
  • 机器学习——逻辑回归
  • Mipsel固件Fuzzing小记
  • 计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 12.曲面细分
  • AUTOSAR图解==>AUTOSAR_SWS_HWTestManager
  • STM32H7时钟树
  • 开源语音-文本基础模型和全双工语音对话框架 Moshi 介绍
  • OTA与boot loader
  • 北大:基于因果的LLM形式化推理
  • 进阶-数据结构部分:3、常用查找算法
  • NVC++ 介绍与使用指南
  • 很啰嗦,再次总结 DOM
  • CAPL Class: TcpSocket (此类用于实现 TCP 网络通信 )
  • 使用教程:8x16模拟开关阵列可级联XY脚双向导通自动化接线
  • Vue-键盘事件
  • Elasticsearch Fetch阶段面试题
  • 1.2 C++第一个程序
  • WORD个人简历单页326款模版分享下载
  • win32相关(字符编码)
  • 2025年PMP 学习十八 第11章 项目风险管理 (11.5~11.7)
  • 【读代码】端到端多模态语言模型Ultravox深度解析
  • 【2025年软考中级】第一章1.6 安全性、可靠性、性能评价
  • LabVIEW光谱信号仿真与数据处理
  • 中间网络工程师知识点5
  • 【单机版OCR】清华TH-OCR v9.0免费版
  • 模型量化AWQ和GPTQ哪种效果好?