nginx的rewrite怎么带入原有请求的Headers里面的值
我有个请求地址比如:http://a.example.com/xx 我想在nginx里面配置一下,当访问http://a.example.com/xx跳转去访问http://b.example.com/xx,我用了rewrite模块,但是访问http://a.example.com/xx时的header值没有带过去,这有什么解决方案?
以下是我的nginx配置:
server {
listen 80;
server_name a.example.com;
listen 443 ssl;
ssl_certificate cert/a/214137293780676.pem;
ssl_certificate_key cert/a/214137293780676.key;
location / {
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
proxy_ignore_client_abort on;
index /index;
proxy_pass http://127.0.0.1:10000;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
rewrite '^/xx$' http://b.example.com/xx;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里rewrite进行的是302跳转,302跳转是不能传递原来请求的header的。
如果要传递header, 你需要配置反向代理