tlsrouter

command
v0.0.0-...-b6bb9b5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

README

TLS SNI router

license Travis api

TLSRouter is a TLS proxy that routes connections to backends based on the TLS SNI (Server Name Indication) of the TLS handshake. It carries no encryption keys and cannot decode the traffic that it proxies.

Installation

Install TLSRouter via go get:

go get go.universe.tf/tcpproxy/cmd/tlsrouter

Usage

TLSRouter requires a configuration file that tells it what backend to use for a given hostname. The config file looks like:

# Basic hostname -> backend mapping
go.universe.tf localhost:1234

# DNS wildcards are understood as well.
*.go.universe.tf 1.2.3.4:8080

# DNS wildcards can go anywhere in name.
google.* 10.20.30.40:443

# RE2 regexes are also available
/(alpha|beta|gamma)\.mon(itoring)?\.dave\.tf/ 100.200.100.200:443

# If your backend supports HAProxy's PROXY protocol, you can enable
# it to receive the real client ip:port.

fancy.backend 2.3.4.5:443 PROXY

TLSRouter takes one mandatory commandline argument, the configuration file to use:

tlsrouter -conf tlsrouter.conf

Optional flags are:

  • -listen <addr>: set the listen address (default :443)
  • -hello-timeout <duration>: how long to wait for the start of the TLS handshake (default 3s)

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL