Skip to main content

A server for rabbit tunnel

Project description

rabbit-tunnel-server

A python-based server implementation for rabbit-tunnel.

rt-server -sd rtunnel.io

Requirements

  • Python 3.7 - 3.10

Current Limitations

  • No unit tests
  • No public APIs for control
  • No authentification
  • No horizontal scaling

Reverse proxy such as nginx is highly recommended to overcome the limitations below. The example configuration of nginx webserver is available at assets/nginx.conf.

  • Robustness to malformed HTTP requests
  • HTTP/2
  • 1 Better handling of HTTP keep-alive session
  • 2 HTTP response modification

1 rabbit-tunnel-server uses the host header in HTTP requests to determine the target rabbit-tunnel instance, but in a HTTP keep-alive session, multiple HTTP requests with different host header can come in the same TCP connection. In that case, rabbit-tunnel-server uses the first HTTP request to determinte the target rabbit-tunnel instance and assume that subsequent HTTP requests will have the same target. To overcome this limitation, you can set-up the reverse proxy to initiate new TCP connection when the host header is changed, or even can disable HTTP keep-alive session between the reverse proxy and rabbit-tunnel-server (which is the default behavior of reverse proxies such as nginx).

2 rabbit-tunnel-server does not interpret any HTTP responses and proxies them as it is. Therefore, for example, the host header in HTTP response may not have the value that clients requested unless tunneled webserver explicitly set them. To overcome this limitation, you can set-up the reverse proxy to properly modify the host header.

Protocol Specification

TBD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rabbit-tunnel-server-0.8.tar.gz (17.7 kB view hashes)

Uploaded Source

Built Distribution

rabbit_tunnel_server-0.8-py3-none-any.whl (11.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page