Table of contents
Goal
Implement IETF QUIC into ATS Core.
Design Doc
Data Flow (draft-04)
ToDo
https://github.com/apache/trafficserver/projects/8
Please label issues and pull-requests with "QUIC".
Branching Rules
Development Rules
Pull-Requests
Please send Pull-Requests to "quic-latest" branch until it merged into master branch
TDD
Use Catch as Unit Test Framework. The header file is under tests/include.
How to build
Build OpenSSL (1.1.1-dev)
$ git clone --depth 1 https://github.com/openssl/openssl $ cd openssl $ ./config enable-tls1_3 --prefix=/PATH/TO/THE/OPENSSL $ make $ make install
Build ATS (quic-latest branch)
The requirements are same to master branch : Installing From Source Code
$ git clone --depth 1 --branch quic-latest https://github.com/apache/trafficserver $ cd trafficserver $ ./configure --prefix=/PATH/TO/THE/ATS --with-openssl=/PATH/TO/THE/OPENSSL --enable-debug $ make $ make install
Configuration
Configuration files are located in the /PATH/TO/THE/ATS/etc/trafficserver/.
- records.config
# run 1 UDP thread at least CONFIG proxy.config.udp.threads INT 1 # open server port for quic CONFIG proxy.config.http.server_ports STRING 4433:quic # Append ciphers for TLS 1.3 (the two at the beginning) CONFIG proxy.config.ssl.server.cipher_suite STRING TLS13-AES-128-GCM-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-AES256-GCM..... # enable debug log if you want CONFIG proxy.config.diags.debug.enabled INT 1 CONFIG proxy.config.diags.debug.tags STRING quic.*
- ssl_multicert.config
- Please use absolute path to the cert and private key until Issue #2358 is fixed.
dest_ip=* ssl_cert_name=/PATH/TO/THE/CERT ssl_key_name=/PATH/TO/THE/PRIVATE/KEY/OF/CERT
Run ATS
/PATH/TO/THE/ATS/bin/traffic_server
QUIC specific configurations
Following docs will be moved to docs.trafficserver.apache.org.
Please note that current name of configurations and default values might be changed before merged in to master branch.
records.config
.. ts:cv:: CONFIG proxy.config.quic.no_activity_timeout_in INT 30 Specifies how long Traffic Server keeps QUIC connections to clients open if a transaction stalls.