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

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.dtcms.com/a/196797.html

相关文章:

  • 2025年数字孪生技术最新应用案例:跨领域实践与技术趋势
  • c++成员函数返回类对象引用和直接返回类对象的区别
  • java中的方法详解
  • Seata源码—5.全局事务的创建与返回处理二
  • Linux中的进程
  • Java-Collections类高效应用的全面指南
  • 如何安装双系统?即windows已经安装,如何安装ubuntu 22.04LTS
  • ​哈夫曼树(Huffman Tree)
  • 【Java ee初阶】HTTP(4)
  • 咖啡叶子病害检测数据集VOC+YOLO格式1468张4类别均为单叶子
  • 二进制与十进制互转的方法
  • Linux的静态库 共享库 进程 主函数的参数
  • Redis内存管理深度解析
  • Kotlin 作用域函数(let、run、with、apply、also)对比
  • 副业小程序YUERGS,从开发到变现
  • uniapp +vue +springboot多商家订餐系统
  • Harmony开发 List、Grid拖动自定义排序实现
  • Spring之Bean的初始化 Bean的生命周期 全站式解析
  • LeetCode Hot100刷题——轮转数组
  • 【springcloud学习(dalston.sr1)】Zuul路由访问映射规则配置及使用(含源代码)(十二)
  • docker-compose——安装mongo
  • 搜索引擎工作原理|倒排索引|query改写|CTR点击率预估|爬虫
  • 构建集成差异化灵巧手和先进机器人控制技术的自动化系统
  • Active Directory域环境信息收集实战指南
  • 【网络入侵检测】基于Suricata源码分析运行模式(Runmode)
  • 【诊所电子处方专用软件】佳易王个体诊所门诊电子处方开单管理系统:零售药店电子处方服务系统#操作简单#诊所软件教程#药房划价
  • 【C++ - 仿mudou库one thread one loop式高并发服务器实现】
  • IntraWeb 16.0.2 + Bootstrap 4 居中布局实战(附源码+效果图)
  • 5000 字总结CSS 中的过渡、动画和变换详解
  • 数据库blog1_信息(数据)的处理与效率提升