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 # 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 of configuration will be moved to docs.trafficserver.apache.org
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.