

Openssl library, whereas WStunnel would be using the non-hardened Go SSL implementation.

The recommendedĪpproach for using WSS (web sockets through SSL) is to use nginx, which uses the well-hardened WStunnel does not support SSL natively (although that would not be a big change). As websocket connections are very long lived, please set read timeouts on your proxy as high as possible. For example, -proxy In addition, the command line client will also respect the https_proxy/http_proxy environment variables if they're set.
#STUNNEL HTTP SERVER PASSWORD#
Basic authentication may be used if the username and password are embedded in the url. WStunnel client may use a proxy as long as that proxy supports HTTPS CONNECT. The host in the -server option does not have to match the regexp but it is recommended for it match. Note the use of -server and -regexp, this is because the server named in -server is used when there is no X-Host header.

Or to allow access to and over http you might use: For example, to allow access to *. over https use:

For this purpose the original HTTP client must pass an X-Host header to name the host and WStunnel client must be configured with a regexp that limits the destination web server hostnames it allows. The above example tells WStunnel client to only forward requests to It is possible to allow the wstunnel to target multiple hosts too. On start WStunnel server (I'll pick a port other than 80 for sake of example) To compile for OS-X or Linux ARM clone the github repo and run
#STUNNEL HTTP SERVER DOWNLOAD#
Download the latest Linux binaryĪnd extract the binary. Release branches are named '1.N.M' and a '1.N' package is created with each revisionĪs a form of 'latest'.
#STUNNEL HTTP SERVER UPGRADE#
Upgrade if necessary and the two ends use this connection as a persistent bi-directional Websockets connection to WStunnel server using the HTTP CONNECT proxy traversal connection The preferred high performance method is websockets: the WStunnel client opens a secure The implementation of the actual tunnel is intended to support two methods (but only the Queing any HTTP connections to the HTTP-server/client remain open, i.e., they are not Order to handle situations where the tunnel is momentarily not open. In addition to the above functionality, wstunnel does some queuing in WStunnel server receives it and hands it back to HTTP-client on the still-open original WStunnel client receives the HTTP response and forwards that back through the tunnel, where.WStunnel client receives the request and issues the request to the local server.WStunnel server forwards the request through the tunnel to WStunnel client.HTTP-client makes an HTTP request to WStunnel server with a std URI and a header.WStunnel client announces its token to the WStunnel server.WStunnel client connects to the WStunnel server using WSS or HTTPS and verifies the.WStunnel client is initialized with a token, which typically is a sizeable random string,Īnd the hostname of the WStunnel server to connect to.Tokens that are registered by the WStunnel client. The rendez-vous between these is made using secret Many WStunnel clients can connect to the same server and
