当前位置:网站首页>[micro service SCG] 33 usages of filters
[micro service SCG] 33 usages of filters
2022-07-05 02:35:00 【Bulst】
List of articles
- Add request header / Request parameters / Response head
- New news header Request header
- Set request header 、 Filter configuration , Modify or remove the request header
- PreserveHostHeader
- rewrite response Encrypted password
- response duplicate removal
- Path prefixed
- To configure 30 A few Jump to the specified address
- Modify the status code
- Forwarding address
- Get rid of \ Add some levels in the request path
- Retry filter
- The filter sets the request size
- spring-session
- Default filter
Add request header / Request parameters / Response head
spring:
cloud:
gateway:
discovery:
locator:
enabled: true
lower-case-service-id: true
routes:
- id: ossa-service-producer
uri: lb://ossa-service-producer
predicates:
- Path=/gw/producer/**
- After=2022-03-03T15:50:30.337+08:00[Asia/Shanghai]
- Before=2024-03-03T15:50:30.337+08:00[Asia/Shanghai]
filters:
- StripPrefix=1
# Add request header 、 Request parameters
- AddRequestHeader=origin-header,producer-header
- AddRequestParameter= origin-param,producer-param
- AddResponseHeader=rep-header,rep-header
New news header Request header
spring:
cloud:
gateway:
discovery:
locator:
enabled: true
lower-case-service-id: true
routes:
- id: ossa-service-producer
uri: lb://ossa-service-producer
predicates:
- Path=/gw/producer/{
id}
- After=2022-03-03T15:50:30.337+08:00[Asia/Shanghai]
- Before=2024-03-03T15:50:30.337+08:00[Asia/Shanghai]
filters:
- StripPrefix=1
# Add request header 、 Request parameters
- AddRequestHeader=origin-header,producer-header-{
id}
Set request header 、 Filter configuration , Modify or remove the request header
filters:
- StripPrefix=1
# Add request header 、 Request parameters
- AddRequestHeader=origin-header,producer-header-{
id}
- AddRequestParameter=origin-param,producer-param
- AddResponseHeader=rep-header,rep-header
# Set request header , If not, add , It was modified
- SetRequestHeader=X-Request-id,value
# Remove request header 、 Request parameters
- RemoveRequestHeader=X-Request-id
- RemoveRequestParameter=X-Request
- RemoveRequestParameter=X-Request-author
- AddResponseHeader=req-param,req-param
# First from header take from-Header, If so, assign to to-Header, If not from-Header No effect
- MapRequestHeader=from-Header,to-Header
PreserveHostHeader
Default on , stay gateway Forward the original request before forwarding the request host Put it on your head , Forward to the destination service .
spring:
cloud:
gateway:
routes:
- id: preserve_host_route
uri: https://example.org
filters:
- PreserveHostHeader
rewrite response Encrypted password
# for example : /42?user=ford&passwd=omg!what&flag=true After the following configuration, replace with /42?user=ford&passwd=***&flag=true
spring:
cloud:
gateway:
routes:
- id: rewriteresponseheader_route
uri: https://example.org
filters:
- RewriteResponseHeader=X-Response-Red, , password=[^&]+, password=***
response duplicate removal
RETAIN_FIRST Keep the first (default)
RETAIN_LAST Keep the last one
RETAIN_FIRST RETAIN_UNIQUE Keep unique
spring:
cloud:
gateway:
routes:
- id: dedupe_response_header_route
uri: https://example.org
filters:
- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin
Path prefixed
request / It's actually /mypath
spring:
cloud:
gateway:
routes:
- id: prefixpath_route
uri: https://example.org
filters:
- PrefixPath=/mypath
To configure 30 A few Jump to the specified address
#300 Multiple Multiple choice , The requested resource may include multiple locations , Accordingly, a list of resource characteristics and addresses can be returned for user terminal selection
#301 Moved Permanently A permanent move , The new location of the requested resource has been permanently moved , The returned information will contain URI, The browser will automatically direct to the new address , Future requests should use new URI Instead of
#302 Found Temporary movement , And 301 similar , Resources are temporarily moved , The client should continue to use the original URI
#303 See Other View other addresses , And 301 similar . Use GET and POST Request to view
#304 not changed , The requested resource has not been modified , When the server returns to this state , No resources will be returned
#305 Use proxy Using agents , The requested resource must be through a proxy
#306 Unused Abandoned HTTP Status code
#307 Temporary Redirect Temporary redirection , And 302 similar , Use GET request redirections
- RedirectTo=302,http://www.baidu.com
- RedirectTo=301,http://www.taobao.com
Modify the status code
Modify the status code , Sure org.springframework.http.HttpStatus enumeration , You can also write the status code directly
In either case , Responsive HTTP The status is set to 401.
spring:
cloud:
gateway:
routes:
- id: setstatusstring_route
uri: https://example.org
filters:
- SetStatus=UNAUTHORIZED
- id: setstatusint_route
uri: https://example.org
filters:
- SetStatus=401
Forwarding address
visit /api/getheader Actual visit :/getheader, The destination address of forwarding must be / Otherwise it will go wrong
- RewritePath=/consumingServiceEndpoint, /backingServiceEndpoint
spring:
cloud:
gateway:
routes:
- id: rewritepath_route
uri: https://example.org
predicates:
- Path=/red/**
filters:
- RewritePath=/red/?(?<segment>.*), /$\{
segment}
Get rid of \ Add some levels in the request path
request /name/first/123 Actual request /123
spring:
cloud:
gateway:
routes:
- id: nameRoot
uri: https://nameservice
predicates:
- Path=/name/first/**
filters:
# Remove some paths from the front to the back
- StripPrefix=2
request /name/first/123 Actual request /prefix/name/first/123
spring:
cloud:
gateway:
routes:
- id: nameRoot
uri: https://nameservice
predicates:
- Path=/name/first/**
filters:
# Add prefix path
- PrefixPath=/prefix
Retry filter
spring:
cloud:
gateway:
routes:
- id: retry_test
uri: http://localhost:8080/flakey
predicates:
- Host=*.retry.com
filters:
- name: Retry
args:
retries: 3
statuses: BAD_GATEWAY
methods: GET,POST
backoff:
firstBackoff: 10ms
maxBackoff: 50ms
factor: 2
basedOnPreviousValue: false
The filter sets the request size
filters:
- name: RequestSize # Filter name
args: # Control the size of the request , More than that, return to 413. Request maximum default 5000000 about 5M
maxSize:1000 #1KB
spring-session
Only when integrated Spring Session Will be session Put it in Redis, To share Session function , If the project inherits Spring Session Medium Spring Security frame , If you want the security authentication information, you can forward it to the remote application , Then this configuration is necessary .
filters:
- SaveSession
Default filter
spring:
cloud:
gateway:
default-filters:
- AddResponseHeader=X-Response-Default-Red, Default-Blue
- PrefixPath=/httpbin
边栏推荐
- Bumblebee: build, deliver, and run ebpf programs smoothly like silk
- Bert fine tuning skills experiment
- Blue bridge - maximum common divisor and minimum common multiple
- Kotlin - coroutine
- Yolov5 model training and detection
- openresty ngx_ Lua variable operation
- A label making navigation bar
- JVM's responsibility - load and run bytecode
- Learn game model 3D characters, come out to find a job?
- 使用druid連接MySQL數據庫報類型錯誤
猜你喜欢

"C zero foundation introduction hundred knowledge and hundred cases" (72) multi wave entrustment -- Mom shouted for dinner

openresty ngx_lua執行階段

A tab Sina navigation bar

Visual studio 2019 set transparent background (fool teaching)

【LeetCode】111. Minimum depth of binary tree (2 brushes of wrong questions)

【LeetCode】106. Construct binary tree from middle order and post order traversal sequence (wrong question 2)

openresty ngx_lua执行阶段

Yolov5 model training and detection
![[Digital IC hand tearing code] Verilog edge detection circuit (rising edge, falling edge, double edge) | topic | principle | design | simulation](/img/9e/4c8557bb4b75b1e74598dedb24af86.jpg)
[Digital IC hand tearing code] Verilog edge detection circuit (rising edge, falling edge, double edge) | topic | principle | design | simulation

JVM - when multiple threads initialize the same class, only one thread is allowed to initialize
随机推荐
Security level
ELK日志分析系统
返回二叉树中两个节点的最低公共祖先
Go RPC call
Missile interception -- UPC winter vacation training match
openresty ngx_ Lua execution phase
Visual studio 2019 set transparent background (fool teaching)
Stored procedure and stored function in Oracle
Can you really learn 3DMAX modeling by self-study?
Learn game model 3D characters, come out to find a job?
[uc/os-iii] chapter 1.2.3.4 understanding RTOS
Chinese natural language processing, medical, legal and other public data sets, sorting and sharing
openresty ngx_lua執行階段
[download white paper] does your customer relationship management (CRM) really "manage" customers?
The most powerful new household god card of Bank of communications. Apply to earn 2100 yuan. Hurry up if you haven't applied!
Some query constructors in laravel (2)
8. Commodity management - commodity classification
Marubeni Baidu applet detailed configuration tutorial, approved.
TCP security of network security foundation
Naacl 2021 | contrastive learning sweeping text clustering task