1. 示例
只转发GET和POST请求
| if ($request_method ~ ^(GET|POST)$ ) { |
| proxy_pass http://10.10.239.31:81; |
| } |
不转发POST请求
| if ($request_method !~ ^(POST)$ ) { |
| proxy_pass http://10.10.239.31:81; |
| } |
PUT请求返回400
| if ($request_method !~ ^(PUT)$ ) { |
| return 400; |
| } |
2. 完整示例
示例设计
- nginx设置两个service
- 80端口显示 “port 80”
- 81端口显示“port 81”
- 80的GET请求转发到81端口
- 80的PUT请求被拒绝
nginx配置
| # gzip设置 |
| gzip on; |
| gzip_vary on; |
| |
| gzip_comp_level 6; |
| gzip_buffers 16 8k; |
| |
| gzip_min_length 1000; |
| gzip_proxied any; |
| gzip_disable "msie6"; |
| #gzip_http_version 1.0; |
| gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; |
| |
| server { |
| listen 80; |
| server_name web80; |
| location / { |
| if ($request_method ~ ^(GET)$ ) { |
| proxy_pass http://10.10.239.31:81; |
| } |
| if ($request_method ~ ^(PUT)$ ) { |
| return 400; |
| } |
| root /html1; |
| index index.html index.htm; |
| add_header Cache-Control no-store; |
| } |
| } |
| server { |
| listen 81; |
| server_name web81; |
| location / { |
| root /html2; |
| index index.html index.htm; |
| add_header Cache-Control no-store; |
| } |
| } |
| |
postman验证
- GET请求被转发

- PUT请求被拒绝


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?