Nginx的跨域问题解决

ops/2024/10/11 7:32:09/

Nginx的跨域问题解决

假设有两台服务器:分别是192.168.101.23(nginx1), 192.168.101.18(nginx2)
nginx2上有一个get_user资源。
#nginx2


```powershelllocation /get_user {default_type application/json;return 200 '{"id":1,"name":"jack","age":18}';
}
nginx2访问自己的资源测试,可以正确访问
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0a111fe642ed4512a00e246e0e5612c2.png)
这时使用nginx1的服务访问nginx2的get_usernginx1编写如下页面
#nginx1下的html文件夹->cross.html文件
页面点击"获取数据"按钮提示以下错误:```powershell<html><head><meta charset="utf-8"><title>跨域问题演示</title><script src="jquery.js"></script><script>$(function(){$("#btn").click(function(){$.get('http://192.168.101.18:8080/get_user',function(data){alert(JSON.stringify(data));});});});</script></head><body><input type="button" value="获取数据" id="btn"/></body>
</html>

通过F12可以看到提示:CORS Missing Allow Origin
在这里插入图片描述

如何解决上面的跨域问题?

add_header指令

指令add_header
默认值
位置http, server, location
用途向HTTP响应头添加新的头部或修改现有头部

此处用来解决跨域问题,需要添加两个头信息,一个是Access-Control-Allow-Origin,Access-Control-Allow-Methods
Access-Control-Allow-Origin: 表示允许跨域访问的源地址信息,可以配置多个(多个用逗号分隔),也可以使用*代表所有源
Access-Control-Allow-Methods:表示允许跨域访问的请求方式,值可以为 GET POST PUT DELETE…,可以全部设置,也可以根据需要设置,多个用逗号分隔
nginx2中的nginx.conf添加以下配置

 location /get_user {add_header Access-Control-Allow-Origin http://192.168.101.23;#nginx1服务的地址add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE;default_type application/json;return 200 '{"id":1,"name":"jack","age":18}';}

./nginx -t 测试配置文件是否在正确
./nginx -s reload 重新加载文件

访问测试:
在这里插入图片描述


http://www.ppmy.cn/ops/86955.html

相关文章

uni-app 微信小程序 用高德sdk获取地理位置,以及天气信息

1、下载高德小程序sdk&#xff0c;并放在uni-app项目中 相关下载-微信小程序插件 | 高德地图API 2、使用高德小程序sdk 获取地理位置接口&#xff0c;天气信息接口 import amap from "/libs/gaode/amap-wx.130.js"; let _this this;let myAmapFun new amapFile.A…

【前端面试】七、算法-递归

遍历方法总结 链式调用 数组的很多操作可以构成链式操作&#xff0c;类似这样的格式&#xff1a;…map().filter(…).sort(…).map(….)链式操作就是对象方法返回类型是自身的。比如map是属于数组的方法&#xff0c;它返回数组&#xff0c;所以构成了链式操作优势&#xff1a;…

RESNET

ResNet 文章目录 ResNet主要内容开发背景解决两个问题&#xff1a;1. 梯度消失和梯度爆炸2. 退化问题: 解决方法1. BN&#xff08;Batch Normalization&#xff09;层2. 残差块 Pytorch实现BasicBlockBottleNeckResNet 主要内容 开发背景 残差神经网络(ResNet)是由微软研究院…

我在高职教STM32——串口通信(5)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正因如此,才有了借助 CSDN 平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思的教学设计分享…

了解ChatGPT API

要了解如何使用 ChatGPT API&#xff0c;可以参考几个有用的资源和教程&#xff0c;这些资源能帮助你快速开始使用 API 进行项目开发。下面是一些推荐的资源&#xff1a; OpenAI 官方文档&#xff1a; 访问 OpenAI 的官方网站可以找到 ChatGPT API 的详细文档。这里包括了 API …

Java高手之路:每日一练,技能精进秘籍

目录 一、题目知识点java中有两种方式实现线程Servlet生命周期总结 一、题目 选自牛客网 1.后端获取数据&#xff0c;向前端输出过程中&#xff0c;以下描述正确的是 A.对于前端过滤过的参数&#xff0c;属于可信数据&#xff0c;可以直接输出到前端页面 B.对于从数据库获得的…

iOS object-C 解答算法:找到所有数组中消失的数字(leetCode-448)

找到所有数组中消失的数字(leetCode-448) 题目如下图:(也可以到leetCode上看完整题目,题号448) 光看题看可能有点难以理解,我们结合示例1来理解一下这道题. 有8个整数的数组 nums [4,3,2,7,8,2,3,1], 求在闭区间[1,8]范围内(即1,2,3,4,5,6,7,8)的数字,哪几个没有出现在数组 …

智云-一个抓取web流量的轻量级蜜罐

智云-一个抓取web流量的轻量级蜜罐 安装环境要求 apache php7.4 mysql8 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN 系统演示