前端跨域

85 阅读2分钟

第一种

http.createServer((req, res) => {
  //解决跨域问题
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader(
    "Access-Control-Allow-Headers",
    "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"
  );
  res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
  res.setHeader("X-Powered-By", " 3.2.1");
  if (req.method == "OPTIONS") return res.end("200"); //试探性请求  跨域请求
});

option请求,不太好

node-http-proxy

vite 的配置

vite

node-http-proxy

注意

这里需要写本地 静态服务器的 的端口(很重要!!!!!!!)

静态服务器匹配到/sliders

原理

我猜想 其实请求是由node-http-server发出去的,因为服务器不存在跨域,这rewrite里面的打印不是浏览器环境,是node环境。

验证

服务端 Nginx 代理

正向代理

正向代理,"它代理的是客户端",是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理

正向代理的用途:

  • 访问原来无法访问的资源,如 Google
  • 可以做缓存,加速访问资源
  • 对客户端访问授权,上网进行认证
  • 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

反向代理,"它代理的是服务端",主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息 反向代理的作用:

  • 保证内网的安全,通常将反向代理作为公网访问地址,Web 服务器是内网
  • 负载均衡,通过反向代理服务器来优化网站的负载