привет! если проверять nginx-1.17.4 вот этой утилитой https://github.com/summerwind/h2spec то несколько десятков тестов фейлятся. можете прокомментировать ?
[ilia@localhost h2spec]$ ./h2spec -p 443 -h xxx.xxx.ru -t http2 Hypertext Transfer Protocol Version 2 (HTTP/2) 3. Starting HTTP/2 3.5. HTTP/2 Connection Preface ✔ 1: Sends client connection preface ✔ 2: Sends invalid connection preface 4. HTTP Frames 4.1. Frame Format ✔ 1: Sends a frame with unknown type ✔ 2: Sends a frame with undefined flag ✔ 3: Sends a frame with reserved field bit 4.2. Frame Size ✔ 1: Sends a DATA frame with 2^14 octets in length × 2: Sends a large size DATA frame that exceeds the SETTINGS_MAX_FRAME_SIZE -> The endpoint MUST send an error code of FRAME_SIZE_ERROR. Expected: GOAWAY Frame (Error Code: FRAME_SIZE_ERROR) RST_STREAM Frame (Error Code: FRAME_SIZE_ERROR) Connection closed Actual: WINDOW_UPDATE Frame (length:4, flags:0x00, stream_id:1) ✔ 3: Sends a large size HEADERS frame that exceeds the SETTINGS_MAX_FRAME_SIZE 4.3. Header Compression and Decompression ✔ 1: Sends invalid header block fragment ✔ 2: Sends a PRIORITY frame while sending the header blocks ✔ 3: Sends a HEADERS frame to another stream while sending the header blocks 5. Streams and Multiplexing 5.1. Stream States × 1: idle: Sends a DATA frame -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout × 2: idle: Sends a RST_STREAM frame -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout × 3: idle: Sends a WINDOW_UPDATE frame -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout ✔ 4: idle: Sends a CONTINUATION frame ✔ 5: half closed (remote): Sends a DATA frame ✔ 6: half closed (remote): Sends a HEADERS frame ✔ 7: half closed (remote): Sends a CONTINUATION frame × 8: closed: Sends a DATA frame after sending RST_STREAM frame -> The endpoint MUST treat this as a stream error of type STREAM_CLOSED. Expected: GOAWAY Frame (Error Code: STREAM_CLOSED) RST_STREAM Frame (Error Code: STREAM_CLOSED) Connection closed Actual: WINDOW_UPDATE Frame (length:4, flags:0x00, stream_id:1) ✔ 9: closed: Sends a HEADERS frame after sending RST_STREAM frame ✔ 10: closed: Sends a CONTINUATION frame after sending RST_STREAM frame × 11: closed: Sends a DATA frame -> The endpoint MUST treat this as a connection error of type STREAM_CLOSED. Expected: GOAWAY Frame (Error Code: STREAM_CLOSED) RST_STREAM Frame (Error Code: STREAM_CLOSED) Connection closed Actual: Timeout ✔ 12: closed: Sends a HEADERS frame ✔ 13: closed: Sends a CONTINUATION frame 5.1.1. Stream Identifiers ✔ 1: Sends even-numbered stream identifier ✔ 2: Sends stream identifier that is numerically smaller than previous 5.1.2. Stream Concurrency ✔ 1: Sends HEADERS frames that causes their advertised concurrent stream limit to be exceeded 5.3. Stream Priority 5.3.1. Stream Dependencies ✔ 1: Sends HEADERS frame that depend on itself ✔ 2: Sends PRIORITY frame that depend on itself 5.4. Error Handling 5.4.1. Connection Error Handling × 1: Sends an invalid PING frame for connection close -> The endpoint MUST close the TCP connection Expected: Connection closed Actual: PING Frame (length:8, flags:0x01, stream_id:0) 5.5. Extending HTTP/2 ✔ 1: Sends an unknown extension frame ✔ 2: Sends an unknown extension frame in the middle of a header block 6. Frame Definitions 6.1. DATA × 1: Sends a DATA frame with 0x0 stream identifier -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout ✔ 2: Sends a DATA frame on the stream that is not in "open" or "half-closed (local)" state ✔ 3: Sends a DATA frame with invalid pad length 6.2. HEADERS ✔ 1: Sends a HEADERS frame without the END_HEADERS flag, and a PRIORITY frame ✔ 2: Sends a HEADERS frame to another stream while sending a HEADERS frame ✔ 3: Sends a HEADERS frame with 0x0 stream identifier ✔ 4: Sends a HEADERS frame with invalid pad length 6.3. PRIORITY ✔ 1: Sends a PRIORITY frame with 0x0 stream identifier ✔ 2: Sends a PRIORITY frame with a length other than 5 octets 6.4. RST_STREAM ✔ 1: Sends a RST_STREAM frame with 0x0 stream identifier × 2: Sends a RST_STREAM frame on a idle stream -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout ✔ 3: Sends a RST_STREAM frame with a length other than 4 octets 6.5. SETTINGS ✔ 1: Sends a SETTINGS frame with ACK flag and payload × 2: Sends a SETTINGS frame with a stream identifier other than 0x0 -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: SETTINGS Frame (length:0, flags:0x01, stream_id:0) ✔ 3: Sends a SETTINGS frame with a length other than a multiple of 6 octets 6.5.2. Defined SETTINGS Parameters ✔ 1: SETTINGS_ENABLE_PUSH (0x2): Sends the value other than 0 or 1 ✔ 2: SETTINGS_INITIAL_WINDOW_SIZE (0x4): Sends the value above the maximum flow control window size ✔ 3: SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value below the initial value ✔ 4: SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value above the maximum allowed frame size ✔ 5: Sends a SETTINGS frame with unknown identifier 6.5.3. Settings Synchronization ✔ 1: Sends multiple values of SETTINGS_INITIAL_WINDOW_SIZE ✔ 2: Sends a SETTINGS frame without ACK flag 6.7. PING ✔ 1: Sends a PING frame ✔ 2: Sends a PING frame with ACK × 3: Sends a PING frame with a stream identifier field value other than 0x0 -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: PING Frame (length:8, flags:0x01, stream_id:0) ✔ 4: Sends a PING frame with a length field value other than 8 6.8. GOAWAY × 1: Sends a GOAWAY frame with a stream identifier other than 0x0 -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout 6.9. WINDOW_UPDATE ✔ 1: Sends a WINDOW_UPDATE frame with a flow control window increment of 0 ✔ 2: Sends a WINDOW_UPDATE frame with a flow control window increment of 0 on a stream ✔ 3: Sends a WINDOW_UPDATE frame with a length other than 4 octets 6.9.1. The Flow-Control Window ✔ 1: Sends SETTINGS frame to set the initial window size to 1 and sends HEADERS frame ✔ 2: Sends multiple WINDOW_UPDATE frames increasing the flow control window to above 2^31-1 ✔ 3: Sends multiple WINDOW_UPDATE frames increasing the flow control window to above 2^31-1 on a stream 6.9.2. Initial Flow-Control Window Size ✔ 1: Changes SETTINGS_INITIAL_WINDOW_SIZE after sending HEADERS frame ✔ 2: Sends a SETTINGS frame for window size to be negative ✔ 3: Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value 6.10. CONTINUATION ✔ 1: Sends multiple CONTINUATION frames preceded by a HEADERS frame ✔ 2: Sends a CONTINUATION frame followed by any frame other than CONTINUATION ✔ 3: Sends a CONTINUATION frame with 0x0 stream identifier ✔ 4: Sends a CONTINUATION frame preceded by a HEADERS frame with END_HEADERS flag ✔ 5: Sends a CONTINUATION frame preceded by a CONTINUATION frame with END_HEADERS flag ✔ 6: Sends a CONTINUATION frame preceded by a DATA frame 7. Error Codes ✔ 1: Sends a GOAWAY frame with unknown error code ✔ 2: Sends a RST_STREAM frame with unknown error code 8. HTTP Message Exchanges 8.1. HTTP Request/Response Exchange ✔ 1: Sends a second HEADERS frame without the END_STREAM flag 8.1.2. HTTP Header Fields ✔ 1: Sends a HEADERS frame that contains the header field name in uppercase letters 8.1.2.1. Pseudo-Header Fields × 1: Sends a HEADERS frame that contains a unknown pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame that contains the pseudo-header field defined for response -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) ✔ 3: Sends a HEADERS frame that contains a pseudo-header field as trailers × 4: Sends a HEADERS frame that contains a pseudo-header field that appears in a header block after a regular header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:0, flags:0x01, stream_id:1) 8.1.2.2. Connection-Specific Header Fields × 1: Sends a HEADERS frame that contains the connection-specific header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:0, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame that contains the TE header field with any value other than "trailers" -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:0, flags:0x01, stream_id:1) 8.1.2.3. Request Pseudo-Header Fields × 1: Sends a HEADERS frame with empty ":path" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame that omits ":method" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 3: Sends a HEADERS frame that omits ":scheme" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 4: Sends a HEADERS frame that omits ":path" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 5: Sends a HEADERS frame with duplicated ":method" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 6: Sends a HEADERS frame with duplicated ":scheme" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 7: Sends a HEADERS frame with duplicated ":path" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) 8.1.2.6. Malformed Requests and Responses × 1: Sends a HEADERS frame with the "content-length" header field which does not equal the DATA frame payload length -> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame with the "content-length" header field which does not equal the sum of the multiple DATA frames payload length -> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) 8.2. Server Push ✔ 1: Sends a PUSH_PROMISE frame Failures: Hypertext Transfer Protocol Version 2 (HTTP/2) 4. HTTP Frames 4.2. Frame Size × 2: Sends a large size DATA frame that exceeds the SETTINGS_MAX_FRAME_SIZE -> The endpoint MUST send an error code of FRAME_SIZE_ERROR. Expected: GOAWAY Frame (Error Code: FRAME_SIZE_ERROR) RST_STREAM Frame (Error Code: FRAME_SIZE_ERROR) Connection closed Actual: WINDOW_UPDATE Frame (length:4, flags:0x00, stream_id:1) 5. Streams and Multiplexing 5.1. Stream States × 1: idle: Sends a DATA frame -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout × 2: idle: Sends a RST_STREAM frame -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout × 3: idle: Sends a WINDOW_UPDATE frame -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout × 8: closed: Sends a DATA frame after sending RST_STREAM frame -> The endpoint MUST treat this as a stream error of type STREAM_CLOSED. Expected: GOAWAY Frame (Error Code: STREAM_CLOSED) RST_STREAM Frame (Error Code: STREAM_CLOSED) Connection closed Actual: WINDOW_UPDATE Frame (length:4, flags:0x00, stream_id:1) × 11: closed: Sends a DATA frame -> The endpoint MUST treat this as a connection error of type STREAM_CLOSED. Expected: GOAWAY Frame (Error Code: STREAM_CLOSED) RST_STREAM Frame (Error Code: STREAM_CLOSED) Connection closed Actual: Timeout 5.4. Error Handling 5.4.1. Connection Error Handling × 1: Sends an invalid PING frame for connection close -> The endpoint MUST close the TCP connection Expected: Connection closed Actual: PING Frame (length:8, flags:0x01, stream_id:0) 6. Frame Definitions 6.1. DATA × 1: Sends a DATA frame with 0x0 stream identifier -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout 6.4. RST_STREAM × 2: Sends a RST_STREAM frame on a idle stream -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout 6.5. SETTINGS × 2: Sends a SETTINGS frame with a stream identifier other than 0x0 -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: SETTINGS Frame (length:0, flags:0x01, stream_id:0) 6.7. PING × 3: Sends a PING frame with a stream identifier field value other than 0x0 -> The endpoint MUST respond with a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: PING Frame (length:8, flags:0x01, stream_id:0) 6.8. GOAWAY × 1: Sends a GOAWAY frame with a stream identifier other than 0x0 -> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: Timeout 8. HTTP Message Exchanges 8.1. HTTP Request/Response Exchange 8.1.2. HTTP Header Fields 8.1.2.1. Pseudo-Header Fields × 1: Sends a HEADERS frame that contains a unknown pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame that contains the pseudo-header field defined for response -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 4: Sends a HEADERS frame that contains a pseudo-header field that appears in a header block after a regular header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:0, flags:0x01, stream_id:1) 8.1.2.2. Connection-Specific Header Fields × 1: Sends a HEADERS frame that contains the connection-specific header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:0, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame that contains the TE header field with any value other than "trailers" -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:0, flags:0x01, stream_id:1) 8.1.2.3. Request Pseudo-Header Fields × 1: Sends a HEADERS frame with empty ":path" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame that omits ":method" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 3: Sends a HEADERS frame that omits ":scheme" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 4: Sends a HEADERS frame that omits ":path" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 5: Sends a HEADERS frame with duplicated ":method" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 6: Sends a HEADERS frame with duplicated ":scheme" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 7: Sends a HEADERS frame with duplicated ":path" pseudo-header field -> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) 8.1.2.6. Malformed Requests and Responses × 1: Sends a HEADERS frame with the "content-length" header field which does not equal the DATA frame payload length -> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) × 2: Sends a HEADERS frame with the "content-length" header field which does not equal the sum of the multiple DATA frames payload length -> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR. Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR) RST_STREAM Frame (Error Code: PROTOCOL_ERROR) Connection closed Actual: DATA Frame (length:150, flags:0x01, stream_id:1) Finished in 72.3573 seconds 94 tests, 68 passed, 0 skipped, 26 failed [ilia@localhost h2spec]$
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru