Nginx反向代理
同源:
如果两个页面的协议,端口和域名都相同,则两个页面具有相同的源。
nginx配置
server中的通常写法
server {
listen 80;
server_name localhost;
# 优先级最高,表示后缀为/a
location = /a {}
# 优先级第二高,表示以/a开头的
location ^~ /a {}
# 优先级第三高,后面跟正则表达式
location ~ {}
# 优先级最低,但比较常用
location / {}
}
nginx解决同源的原理分析
nginx服务器设置server_name为前端的域名,然后拦截前端的请求,然后将请求通过proxy_pass代理回服务器。(检测到location匹配的字符串时,就会将server_name地址的请求,代理到proxy_pass中的的地址,如果proxy_pass地址后面带'/',则会将location匹配的后缀也跟在后面一起请求)
前端请求nginx服务器属于同源访问,而nginx对服务端的请求不会触发同源策略。