Nginx跨域问题解决

  • 背景:云服务器上面部署了后端和前端,前端开发在本地启一个web访问页面,然后访问云服务的后端,然后出现问题

  • 问题:Access to XMLHttpRequest at ‘http://192.168.10.100:8070/auth/login’ from origin ‘http://localhost:9090’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

  • 解决方法:查了一下说是跨域的问题 修改nginx配置

  • 原有配置

server {listen 6606;server_name maintain;location / {root /opt/lumiankexue/web/bridge/dist;try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.0.44:8070/;client_max_body_size 200M;client_body_buffer_size 200M;}# 禁止访问/actuator路径if ($request_uri ~ "/actuator") {return 403;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}
}
  • 新增配置
        # 允许跨域请求的配置add_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Allow-Methods' '*' always;add_header 'Access-Control-Allow-Headers' '*' always;# 处理预检请求(OPTIONS方法)if ($request_method = 'OPTIONS') {return 204;}
#新增标红的这些内容,*号代表允许所有
1. add_header 'Access-Control-Allow-Origin' '*' always;#这个配置指定了允许访问资源的域。在这种情况下,'*' 表示允许所有域名访问资源,这意味着任何网站都可以访问您的资源。这可能会存在安全风险,因为允许所有域名访问资源可能会导致跨站请求伪造(CSRF)攻击等安全问题。
2. add_header 'Access-Control-Allow-Methods' '*' always;#这个配置指定了允许的请求方法。与上面提到的配置不同,'*' 在这里指示允许所有的请求方法。这将允许发起任何类型的请求(GET、POST、PUT、DELETE 等)来访问资源。
3. add_header 'Access-Control-Allow-Headers' '*' always;#这个配置指定了允许的请求头。类似地,'*' 表示允许所有的请求头。这将允许浏览器在跨域请求中发送任何类型的请求头信息。
  • 增加之后的配置
server {listen 6606;server_name maintain;location / {root /opt/lumiankexue/web/bridge/dist;try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 允许跨域请求的配置add_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Allow-Methods' '*' always;add_header 'Access-Control-Allow-Headers' '*' always;# 处理预检请求(OPTIONS方法)if ($request_method = 'OPTIONS') {return 204;}proxy_pass http://192.168.0.44:8070/;client_max_body_size 200M;client_body_buffer_size 200M;}# 禁止访问/actuator路径if ($request_uri ~ "/actuator") {return 403;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}
}

然后问题解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[E二叉树] lc104. 二叉树的最大深度(dfs+自顶向下)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:104. 二叉树的最大深度 题单: 链表、二叉树与一般树(前后指针/快慢指针/DFS/BFS/直径/LCA) 2.2 自顶向下 DFS 2. 题目解析 思路: 很基础的 dfs 题目哈&#x…

k8s单master多node环境搭建-k8s版本低于1.24,容器运行时为docker

k8s 1.20.6单master多node环境搭建 1.环境规划2.初始化服务器1)配置主机名2)设置IP为静态IP3)关闭selinux4)配置主机hosts文件5)配置三台主机之间免密登录6)关闭交换分区swap,提升性能7&#xf…

github源码指引:C++嵌入式WEB服务器

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 相关专题: C嵌入式…

基于Spring Boot的文字识别系统

前端使用htmlcssjs,后端使用Spring Boot,数据库使用mysql,识别算法有两个,一个是使用百度OCR接口,一个是自己写一个python,用flask包装。 其中百度OCR接口可以去免费申请,然后把appid、apikey、…

Netty 知识目录

Netty 知识结构Netty Bootstrap/ServerBootstrapNetty EventLoopGroup/EventLoopNetty ChannelNetty ChannelPipeline/ChannelHandlerNetty ByteBufNetty TCPNetty UDPNetty HTTPNetty WebsocketNetty SSL/TLS

【王树森】Transformer模型(1/2): 剥离RNN,保留Attention(个人向笔记)

Transformer简介 Transformer 是一个Seq2Seq模型Tramsformer 不是RNNTransfomer 只有attention和全连接层机器翻译在大型数据集上完爆最好的RNN Review Attention for RNN 这节课讲的attention相对比于前两节课多了一个 v i v_i vi​,之前是用权重直接乘 h h h&…

【GD32】从零开始学GD32单片机 | USB通用串行总线接口+HID键盘例程(GD32F470ZGT6)

1. 简介 USB,全称通用串行总线,相信大家都非常熟悉了,日常生活只要用到手机电脑都离不开这个接口,像鼠标键盘U盘都需要使用这个接口进行数据传输,下面简单介绍一下。 1.1 版本标准 USB的标准总体可以分为低速、全速和…

业务资源管理模式语言02

图1 模式间的依赖关系 第一节:最开始,关注应用中包括的资源。首先,必须标识资源(1),下一步,检查资源限定(2),同时量化资源(3) 模式1…

c#笔记5 详解事件的内置类型EventHandler、windows事件在winform中的运用

为什么要研究这一问题? 事件和委托可以说是息息相关。 前面先解释了什么是委托,怎么定义一个委托以及怎么使用匿名方法来内联地新建委托。 事实上事件这一机制在c#的程序开发中展很重要的地位,尤其是接触了winform软件开发的同学们应该都知…

Unity 动态光照贴图,加载后显示变暗或者变白问题 ReflectionProbe的使用

动态加载光照贴图代码,可参考这个帖子 Unity 预制动态绑定光照贴图遇到变白问题_unity urp 动态加载光照信息 变黑-CSDN博客 这次遇到的问题是,在编辑器下光照贴图能正常显示,打出apk后光照贴图加载后变黑的问题 以下4张图代表4种状态&…

duckDB源码GDB调试

duckDB源码GDB调试 一,首先编译源代码,使用debug模式 在根目录下 make debug cd ./build/debug/test二,gdb调试unittest gdb ./unittest三,打断点 b dictionary_compression.cpp:621四,执行unittest run test/sq…

opencascade 重叠曲线设置优先显示

‌OpenCASCADE重叠曲线显示设置‌ 当出现重叠曲线时,往往需要设置 优先显示的对象 关键点 SetDisplayPriority SetLayer

磁性齿轮箱市场报告:前三大厂商占有大约79.0%的市场份额

磁性齿轮箱是一种用于扭矩和速度转换的非接触式机构。它们无磨损、无摩擦、无疲劳。它们不需要润滑剂,并且可以针对其他机械特性(如刚度或阻尼)进行定制。 一、全球磁性齿轮箱行业现状与洞察 据 QYResearch 调研团队最新发布的“全球磁性齿轮…

在 Next.js 项目中使用 Clerk 实现 OAuth 登录与回调处理

1. 什么是 Clerk 和 OAuth 登录? Clerk 是一个身份验证管理工具,可以轻松集成到 Web 应用中,提供安全的用户登录、注册等功能。OAuth 是一种常见的授权协议,允许用户通过第三方服务(如 Google、Microsoft)…

10分钟了解OPPO中间件容器化实践

背景 OPPO是一家全球化的科技公司,随着公司的快速发展,业务方向越来越多,对中间件的依赖也越来越紧密,中间件的集群的数量成倍数增长,在中间件的部署,使用,以及运维出现各种问题。 1.中间件与业…

PCM转PCMA(pcm_alaw,G711.A率)转换表 PCM转PCMU(pcm_ulaw,G711.U率)转换表

PCM转PCMA(pcm_alaw,G711.A率)转换表 && PCM转PCMU(pcm_ulaw,G711.U率)转换表 文章目录 PCM转PCMA(pcm_alaw,G711.A率)转换表 && PCM转PCMU(…

桥接与NET

仔细看看下面两幅图 net模式,就是在你的Windows电脑(假设叫A电脑)的网络基础上,再生成一个子网络,ip的前两位默认就是192.168,然后第三位是随机,第四位是自己可以手动设置的。使用这种模式唯一的…

Centos 7 升级glibc2.33 记录

查看glibc升级所需的依赖编译环境: cd $HOME/glibc-$glibc_ver cat INSTALL | grep -E "newer|later" glibc升级参考链接: 主要参考链接:https://blog.csdn.net/optimistic001/article/details/136705055 次要参考链接&#x…

设计模式结构型模式之代理模式

结构型模式之代理模式 一、概念和使用场景1、概念2、核心思想3、java实现代理模式的方式4、使用场景 二、示例讲解1. 静态代理2. 动态代理 三、总结1、使用规则2、代理模式的优点包括:3、代理模式的缺点包括: 一、概念和使用场景 1、概念 代理模式是一…

如何设计数据库排序字段

最简单的办法就是按照id进行排序,越小的id排序越前,不过这完全没有灵活性可言,所以 int字段作为排序 采用一个额外的int字段作为排序成为更普遍的方式 考虑现实场景中,很多时候是需要进行中间插入排序的,这意味要求…