发表于: 2021-07-10 00:40:58

0 1813


今天完成的事情:

先尝试把任务的给的nginx配置直接写上去还是出现昨天的问题

server {

  listen       12;

  server_name  local.jnshu.ptteng.com;

  

    location / {

           

            root   D:/nginx/nginx-1.18.0/html;

            index  text.html index.htm index.html;#text.html 指的就是想要运行的文件名

            try_files $urli/ index.html =404;

        }

     location /carrots-admin-ajax/{ 

           proxy_pass http://175.25.23.192:10498/; 

   }

}

什么是跨域

指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

例如:

a页面想获取b页面资源,如果a/b页面的协议,域名,端口,子域名不同,不同,所进行的访问行动都是跨域的,而浏览器为了安全问题

一般都限制了跨域访问,也就是不允许跨域请求资源。

注意:

跨域限制访问,其实是浏览器的限制!

同源策略:

是指协议,域名,端口都要相同,其中有一个不同都会产生跨域

URL说明是否允许通信

http://www.a.com/a.js

http://www.a.com/b.js 

同一域名下允许

http://www.a.com/lab/a.js

http://www.a.com/script/b.js

同一域名下不同文件夹允许

http://www.a.com/8000/a.js

http://www.a.com/b.js 

同一域名下不同端口不允许

http://www.a.com/a.js

https://www.a.com/b.js   

同一域名下不同协议不允许

http://www.a.com/a.js

http://1.2.3.4/b.js

域名和域名对应的ip不允许

http://www.a.com/a.js

http://script.a.com/b.js 

主域名相同,子域名不同不允许
http://www.a.com/a.js同一域名,不同二级域名不允许

http://www.cnblogs.com/a.js

http://www.a.com/b.js

不同域名不允许

 

跨域访问示例:

假设有两个网站,A网站部署在:http://localhost:81上,B网站部署在:http://localhost:82上。现在A网站的页面想去访问B网站的信息,A网站的代码如下:

$(function(){  

  $.get("http://localhost:82/api/values", {},

  function(result){    

    $("#show").html(result);   

 })

 })


 

解决跨域:

使用nginx作为代理服务器和用户交互,这样用户就只需要在80端口上面交互就可以了,避免了跨域问题

使用nginx配置反向代理:

server{    listen 80; # 监听80端口 

    server_name localhost; # 当前服务的域名  

  location / {        # 当用户发送localhost:80时就会被转发到这里      

  proxy_pass http://localhost:81;        proxy_redirect default;    }   

 location / apis {        rewrite ^/apis(.*)$ /$1 break;         # 当界面请求接口数据时,只要以/apis开头,会被转发到这里        proxy_pass http://localhost:82;    } }

# 其他配置省略

# 其他配置省略


终于跑起来了



明天计划的事情:

完成任务5






返回列表 返回列表
评论

    分享到