proxy_redirect
proxy_redirect指令用于修改被代理服务器返回的响应头中的Location头域和“Refresh”头域,与proxy_pass指令配合使用。
比如,Nginx服务器通过proxy_pass指令将客户端的请求地址重写为被代理服务器的地址,那么Nginx服务器返回给客户端的响应头中“Location”头域显示的地址就应该和客户端发起请求的地址相对应,而不是代理服务器直接返回的地址信息,否则就会出问题。该指令解决了这个问题,可以把代理服务器返回的地址信息更改为需要的地址信息。其语法结构为:
redirect,匹配响应的“Location”头的字符串,支持变量的使用和正则表达式。
replacement,用于替换redirect变量内容的字符串,支持变量的使用。
对于第1个结构,假设被代理服务器返回的响应头中“Location”头域为:
该指令设置为:
Nginx服务器会将“Location”头的值更改为:
结构2使用default,代表使用location块的uri变量作为replacement,并使用proxy_pass变量作为redirect。
下面两段配置的效果是等同的:
使用结构3可以将当前作用域下所有的proxy_redirect指令配置全部设置为无效。
Last updated
Was this helpful?