解决nginx代理转发post请求变get请求方法
post请求经过nginx转发变get请求原因 nginx的机制是所有转发默认是get,所以会导致post请求经过nginx转发后会被转化为get请求。 get—–>get post—–>get
解决方法 可以使用return 307进行转发,return 307,对请求类型不做转换,意思就是 get—–>get post—–>post 所以通过原样转发可以解决我们post请求会被转化为get请求问题
具体配置方法 server { listen 80; server_name test.123.com; location /test/api { return 307 http://192.168.1.133:8088/api; proxy_set_header Host $host; } }
这样的话 当我们post test.123.com/test/api这个地址时请求就不会被转化为get请求了
扩展 当我们要根据请求类型来过滤按照请求类型转发到指定的地址时可以用以下方式来实现
upstream test123 { server 192.168.1.133:8888 max_fails=3 fail_timeout=30s; server { listen 80; server_name test.123.com; location /api/bbb { if ($request_method = POST) { return 307 http://192.168.1.133:8088/aaa/bbb; } proxy_pass http://test123; proxy_set_header Host $host; } } }
当我们使用get请求http://test.123.com/api/bbb这个地址时请求不会被转发 当我们使用post请求http://test.123.com/api/bbb这个地址时请求会被转发到http://192.168.1.133:8088/aaa/bbb这个地址
未经允许不得转载:肥猫博客 » 解决nginx代理转发post请求变get请求方法
相关文章
- Golang|一键socks5代理以及端口复用小工具
- nginx使用长连接代理grpc流量
- 直连模式,pac模式和全局模式哪个好_全局代理模式
- 正向代理&反向代理(校园网为例)
- 如何批量检测隧道HTTP代理的可用性?
- 手游代理发展到手游联运平台有哪些优势?
- 神卓互联使用haproxy反向代理搭建私有云【内网穿透黑科技】
- ASEMI代理AD8065ARTZ-REEL7原装ADI车规级AD8065ARTZ-REEL7
- 配置 Spring Cloud Bus 的消息代理示例
- 对Linux终端使用socks5代理的方法详解
- 详解 Java 中的三种代理模式编程语言
- MongoDB开启中国之旅 让中国用户体验更便捷的代理服务(mongodb中国代理)
- Linux网络代理设置实操指南(linux网络代理设置)
- Linux让网络浏览更加自由方便(linux代理)
- Linux下删除Nginx服务器的方法(linux删除nginx)
- TDD 方法开发渗透测试工具:代理扫描器(第二集)
- TDD 方法开发渗透测试工具:代理扫描器(第一集)
- DeepMind 黑科技!颠覆传统强化学习方法,代理学习速度提高十倍(附视频)
- 快速高效:Linux服务器代理软件(linux服务器代理软件)
- linux下通过Squid反向代理搭建CDN缓存服务器的配置方法
- JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
- windows环境下用squid代理https(ssl)的方法
- Nginx作为反向代理时传递客户端IP的设置方法