点击上方蓝色“飞雪无情”关注我,设个星标,第一时间看文章
在前端开发中,会通过 fetch
发起网络请求获取数据,然后再显示到页面上,这也就是我们常说的前后端分离。
但是受限于浏览器的同源策略, fetch
是不能跨域访问的,这时候就需要我们设置服务端响应的头信息,来达到跨域的目的,而Caddy的反向代理,天生就具备这个能力。
什么是同源策略
同源策略是浏览器的一项非常重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
我们看下它的定义:
同源策略是指在Web浏览器中,允许某个网页脚本访问另一个网页的数据,但前提是这两个网页必须有相同的URI、主机名和端口号,一旦两个网站满足上述条件,这两个网站就被认定为具有相同来源
同源策略对Web应用程序具有特殊意义,因为Web应用程序广泛依赖于HTTP cookie来维持用户会话,所以必须将不相关网站严格分隔,以防止丢失数据泄露。
头信息设置
在Caddy的反向代理中,为我们提供了两个指令来设置请求头和响应头的信息,他们分别是header_up和header_down,他们的指令设置规则如下所示:
reverse_proxy [<matcher>] [<upstreams...>] {
# ba