container for sslh, a ssl/ssh multiplexer : https://www.rutschle.net/tech/sslh/README.html
USE AT YOUR OWN RISK
use case is for sharing an SSL connection with SSH and VPN
typically;
$ sudo docker run -d --name sslh --net=host -p 443:443 -p 127.0.0.1::22 whayle/sslh
Note: This image is based on phusion/baseimage-docker which has SSH listening on 22 by default.
docker >= 0.11
Theses options can be passed to the container using docker
-e <variable>
.
Variable | Function |
---|---|
LISTEN_ADDR | Address to listen on waiting for new connections. The format is <ip>:<port> . Defaults to: 0.0.0.0:443 |
HTTP_TARGET_ADDR | Address to relay when a new HTTP connection is detected. The format is <ip>:<port> . Defaults to: $HOST_ADDR:80 |
XMPP_TARGET_ADDR | Address to relay when a new XMPP connection is detected. The format is <ip>:<port> . Defaults to: $HOST_ADDR:5222 |
SSL_TARGET_ADDR | Address to relay when a new SSL (HTTPS) connection is detected. The format is <ip>:<port> . Defaults to: $HOST_ADDR:8443 |
SSH_TARGET_ADDR | Address to relay when a new SSH connection is detected. The format is <ip>:<port> . Defaults to: $HOST_ADDR:22 |
VPN_TARGET_ADDR | Address to relay when a new Open VPN connection is detected. The format is <ip>:<port> . Defaults to: $HOST_ADDR:1194 |
TRANSPARENT | use the transparent option if set to true |
SSLH_USER | default is sslh |
SSLH_PIDFILE | default is /var/run/sslh/sslh.pid |
You will need to map a volume to store configuration from the file /etc/default/sslh, and set RUN=yes
Any settings in this file will override environment settings
Here is a sample file;
RUN=yes
# binary to use: forked (sslh) or single-thread (sslh-select) version
DAEMON=/usr/sbin/sslh
#DAEMON_OPTS="--user sslh --pidfile /var/run/sslh/sslh.pid"
#Set all other options in environment variables when running the container