nginx实现跨域的原理及运行流程

网上有很多使用nginx解决跨域的教程。都只是草草地介绍说是利用其反向代理的能力。
【】然而nginx是实现跨域的原理是什么呢?
【】是做代理接口,它去请求实际服务器,在将数据返回给我们吗?
【】还是说它修改了发送方的header值,让请求的header与目标域名一致?
【】它具体的运行流程是怎么样的呢?

阅读 11.7k
1 个回答

【】首先,直接在浏览器地址栏中,输入某接口地址。是不会产生跨域问题的。
只有当在某域名的页面中,由该页面发起的接口请求。才可能会跨域。
nginx就类似于这个浏览器,它接收到外部对它的请求( 注意,nginx只会接收别人对它的请求,而不会拦截浏览器的请求 ),再类似浏览器地址栏一样去请求某个接口。最后将请求到的内容返回回去
【】是的
【】不一定会修改,可以进行修改。
【】前端利用host结合nginx实现跨域的运行流程:
Brower =》 host =》 nginx =》 目标地址
服务器数据 =》 nginx =》 Brower
也就是说,nginx并不是通过监听brower的请求。
而是作为一个服务器,接收外部对本机的请求。
所以是先通过host,让请求指向本机,才会经过nginx。才能进行转发。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏