@@ -536,23 +536,6 @@ Examples:
536
536
537
537
You may use https://github.com/AlexanderYastrebov/unrepeat to decompose binary file into prefix, repeating content and suffix.
538
538
539
- ### backendTimeout
540
-
541
- Configure backend timeout. Skipper responds with ` 504 Gateway Timeout ` status if obtaining a connection,
542
- sending the request, and reading the backend response headers and body takes longer than the configured timeout.
543
- However, if response streaming has already started it will be terminated, i.e. client will receive backend response
544
- status and truncated response body.
545
-
546
- Parameters:
547
-
548
- * timeout [ (duration string)] ( https://godoc.org/time#ParseDuration )
549
-
550
- Example:
551
-
552
- ```
553
- * -> backendTimeout("10ms") -> "https://www.example.org";
554
- ```
555
-
556
539
### latency
557
540
558
541
Enable adding artificial latency
@@ -705,6 +688,64 @@ Example:
705
688
* -> logHeader("request", "response") -> "https://www.example.org";
706
689
```
707
690
691
+ ## Timeout
692
+
693
+ ### backendTimeout
694
+
695
+ Configure backend timeout. Skipper responds with ` 504 Gateway Timeout ` status if obtaining a connection,
696
+ sending the request, and reading the backend response headers and body takes longer than the configured timeout.
697
+ However, if response streaming has already started it will be terminated, i.e. client will receive backend response
698
+ status and truncated response body.
699
+
700
+ Parameters:
701
+
702
+ * timeout [ (duration string)] ( https://godoc.org/time#ParseDuration )
703
+
704
+ Example:
705
+
706
+ ```
707
+ * -> backendTimeout("10ms") -> "https://www.example.org";
708
+ ```
709
+
710
+ ### readTimeout
711
+
712
+ Configure read timeout will set a read deadline on the server socket
713
+ connected to the client connecting to the proxy. Skipper will log 499
714
+ client timeout with context canceled. We are not able to differentiate
715
+ between client hang up and read timeout.
716
+
717
+ Parameters:
718
+
719
+ * timeout [ (duration string)] ( https://godoc.org/time#ParseDuration )
720
+
721
+ Example:
722
+
723
+ ```
724
+ * -> readTimeout("10ms") -> "https://www.example.org";
725
+ ```
726
+
727
+ ### writeTimeout
728
+
729
+ Configure write timeout will set a write deadline on the server socket
730
+ connected to the client connecting to the proxy. Skipper will show
731
+ access logs as if the response was served as expected, but the client can
732
+ show an error. You can observe an increase in streaming errors via
733
+ metrics or a in opentracing proxy span you can see Tag
734
+ ` streamBody.byte ` with value ` streamBody error ` or in debug logs
735
+ something like
736
+ ` error while copying the response stream: write tcp 127.0.0.1:9090->127.0.0.1:38574: i/o timeout ` .
737
+
738
+ Parameters:
739
+
740
+ * timeout [ (duration string)] ( https://godoc.org/time#ParseDuration )
741
+
742
+ Example:
743
+
744
+ ```
745
+ * -> writeTimeout("10ms") -> "https://www.example.org";
746
+ ```
747
+
748
+
708
749
## Shadow Traffic
709
750
### tee
710
751
0 commit comments