Distributed-configuration
Sometimes it makes sense to use separate Gor instance for replaying traffic and performing things like load testing, so your production machines do not spend precious resources. It is possible to configure Gor on your web machines forward traffic to Gor aggregator instance running on the separate server.
If you have multiple replay machines you can split traffic among them using --split-output
option: it will equally split all incoming traffic to all outputs using round robin algorithm.
Encryption
Traffic between --input-tcp
and --output-tcp
can be encrypted using TLS protocol. To make it work you need to generate SSL certificate, specify paths to it and key used for generating cert, and enable secure mode.
Certificate and key should be PEM encoded. Example: --input-tcp :28020 --input-tcp-secure --input-tcp-certificate ./cert.pem --input-certificate ./key.pem
. You can use the following command to generate a self-signed certificate and key:
Do not forget to replace "localhost" by your domain or IP.
When you configured secure input, enable --output-tcp-secure
flag for the GoReplay clients, connecting to it.
GoReplay PRO support accurate recording and replaying of tcp sessions, and when --recognize-tcp-sessions
option is passed, instead of round-robin it will use a smarter algorithm which ensures that same sessions will be sent to the same replay instance.
In case if you are planning a large load testing, you may consider use separate master instance which will control Gor slaves which actually replay traffic. For example:
Last updated