编程技术分享平台

网站首页 > 技术教程 正文

Nginx跨域问题的原因分析(nginx跨域问题的原因分析怎么写)

xnh888 2024-10-05 02:58:52 技术教程 18 ℃ 0 评论

这块内容,我们主要从以下方面进行解决:

什么情况下会出现跨域问题? 实例演示跨域问题 具体的解决方案是什么?

同源策略

浏览器的同源策略:是一种约定,是浏览器最核心也是最基本的安全功 能,如果浏览器少了同源策略,则浏览器的正常功能可能都会受到影 响。

同源: 协议、域名(IP)、端口相同即为同源

http是一种协议,https也是一种协议

发送请求失败的一种典型特征:

http://192.168.200.131/user/1

https://192.168.200.131/user/1

由于协议不同会造成请求失败

另一种失败的原因,协议相同,IP不同也会失败

http://192.168.200.131/user/1

http://192.168.200.132/user/1

另一种失败原因端口不一致造成失败


请求域名不同也不满足同源策略

端口不一致也不满足同源策略

访问端口同为80,默认是80满足同源策略

http://www.nginx.org:80/user/1

http://www.nginx.org/user/1

跨域问题

简单描述下:

有两台服务器分别为A,B,如果从服务器A的页面发送异步请求到服务器B获 取数据,如果服务器A和服务器B不满足同源策略,则就会出现跨域问题。

跨域问题的案例演示

现在这里有两台服务器,准备两台服务器数据之间相互发送数据请求

第一步,编辑a.html页面

第二步:编辑一个页面,向某一个IP发送请求数据

<html>
 <head>
 <meta charset="utf-8">
 <title>跨域问题演示</title>
 <script src="jquery.js"></script>
(2)在nginx.conf配置如下内容
        <script>
            $(function(){
                $("#btn").click(function(){
                       
 $.get('http://192.168.200.133:8080/getUser',function
 (data){
                               
 alert(JSON.stringify(data));
                        });
                });
            });
</script>
  </head>
  <body>
        <input type="button" value="获取数据" 
id="btn"/>
  </body>
 </html>

第三步 使用vim nginx.conf打开配置文件

第四步,配置server,8080端口,访问/getUser时候,返回200的数据

server {
    listen 8080;
      server_name localhost;

      location /getUser{
          default_type application/json;
           return 200 '{"id": 1xxxxx}'
    }
}

第五步:检验语法,重载配置

第六步: 出现了跨域的问题了

Access to XMLHttpRequest at 'http://192.168.200.133:8080' from origin 'http://192.168.200.133'


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表