
我有一个Nginx proxy_pass安装程序将/API上的每个请求传递给后端Tomcat REST服务。 这个服务在某些情况下会返回一个根据请求types而不同的Location标题,例如: Location: http://foo.bar/baz/API/search/1234567 – baz部分是由于它被托pipe在Tomcat 。
我当前的configuration正确地重写了foo.bar主机名,但保持baz部分完好无损。 我想删除这个,但proxy_pass选项似乎被限制为清除或设置一个新的头值。
有没有办法dynamic修改标题之前传递给客户端,使用正则Expression式替代品,例如? 这是我的Nginxconfiguration:
location /API { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_max_temp_file_size 0; clIEnt_max_body_size 10m; clIEnt_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffers 32 4k; proxy_redirect off; proxy_pass http://foo.bar:8080/baz/API; }
如何添加标题只有特定的文件与Nginx
在Apache Htaccess中正确使用KeepAlive
GCC在编译时在/ usr / local / include中查找头文件,但在链接时不在/ usr / local / lib中查找库文件。 为什么?
包含windows上可能存在或不存在的标头
Nginx – 我将如何为所有虚拟主机设置过期标题?
摄像头,vIDeo源对话框出现
C ++:平台相关types – 最佳模式
Nginx大标题响应
将Perl脚本输出pipe道打印为10行后,将会杀死脚本
在QT GUI应用程序中切换窗口
您可以使用regexp来修改它,但更好的方法是使用代理重定向:
proxy_redirect http://foo.bar/baz/ /;
http://Nginx.org/en/docs/http/ngx_http_proxy_module.HTML#proxy_redirect
foo.bar/baz/任何位置标题foo.bar/baz/将转到/
如果你只是想重定向/baz/API ,那也可以。
如果任何重定向也添加端口,您还需要添加http://foo.bar:8080/baz/ (单独重定向)。
希望这可以帮助!
总结以上是内存溢出为你收集整理的使用nginx proxy_pass修改位置标题全部内容,希望文章能够帮你解决使用nginx proxy_pass修改位置标题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)