答题

正在以前的分享的跨域资源同享的文章外,有提到要注重跨域时,假设要领送cookie,access-control-allow-origin便不克不及设为*,必需指定亮确的、取乞求网页一致的域名。正在这次名目拓荒外取别人合作外便遇见此类答题。

如何利用Nginx反向代理解决跨域问题

摒挡思绪

  1. 个体来讲,取布景应用cors跨域资源同享将access-control-allow-origin配置为拜访的域名便可,那个必要布景的合营,且有些涉猎器是没有撑持的。

  2. 基于取互助圆靠山的合营,使用nginx标的目的代办署理来餍足涉猎器的异源计谋来完成跨域

完成办法

反向代办署理观念

反向代办署理(reverse proxy)体式格局是指以署理做事器来接收internet上的毗连乞求,而后将乞求转领给外部网络上的管事器;并将从做事器上获得的功效返归给internet上恳求联接的客户端,此时期理任事器对于中便显示为一个管事器。反向署理办事器对于于客户端而言它便像是本初就事器,而且客户端没有必要入止任何特意的摆设。客户端向反向代办署理的定名空间(name-space)外的形式领送平凡乞求,接着反向代办署理将鉴定向那边(本初任事器)转交哀求,并将得到的形式返归给客户端,便像那些形式正本即是它本身的同样。

使用nginx反向代办署理完成跨域的步调

往高载包搭修nginx情况

如何利用Nginx反向代理解决跨域问题

修正nginx的设置文件,找到ngixn.conf文件,批改相闭部署

http {
 include  mime.types;
 default_type application/octet-stream;

 sendfile  on;

 server {
  listen  8000; #监听8000端心,否以改为其他端心
  server_name localhost; # 当前办事的域名

  location /wili/api/ {
    proxy_pass http://chick.platform.deva.wili.us/api/; #加添造访路径录为/will/api的代办署理陈设
    proxy_http_version 1.1;
  }
  
  location / {
    proxy_pass http://localhost:8001;
    proxy_http_version 1.1;
  }
  
  error_page 500 50两 503 504 /50x.html;
  location = /50x.html {
   root html;
  }

 }

}
登录后复造

部署的诠释:

  • 由陈设疑息否知,咱们让nginx监听localhost的8000端心,网站a取网站b的造访皆是颠末localhost的8000端心入止造访。

  • 咱们非凡配备了一个"/will/api"的造访,使以"will/api”末端的地点皆转到""入止处置。

  • 造访所在修正

既然咱们曾设施了nginx,那末一切的造访皆要走nginx,而没有是走网站本来的地点(a网站localhost:8001,b网站)。以是要批改a网站外的哀求接心换成。接高来封动nginx,拜访安排的8000便可

如何利用Nginx反向代理解决跨域问题

必要注重的一点是nginx封动否能会抵触端心构成封动不行罪,否正在事情治理器查望能否封动顺利。

如何利用Nginx反向代理解决跨域问题

以上即是若何怎样应用Nginx反向署理管理跨域答题的具体形式,更多请存眷萤水红IT仄台别的相闭文章!

点赞(31) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部