Implementing CONNECT in nginx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 22, 2014 at 4:14 PM, Thomas Glanzmann <thomas at glanzmann.de> wrote:
> Hello everyone,
> I would like to extend nginx with a CONNECT statement which connects to
> a TCP socket. Could someone walk me through which source files I need to
> modify and which fucntions I should have a look at?
> Or if there is anything else that can give me a quickstart?

If the idea is to make ocserv run in parallel with a web server I've
been thinking lately some alternatives.

1. Is to use TLS ALPN [0] and advertise the VPN server and have a
kernel module that distributes the VPN service to the proper server
(e.g. via a special setsockopt).

2. Use TLS ALPN on the web server (by reading the client hello in peek
mode), and if it is a VPN connection pass the socket to ocserv.  A
minimal socket passing method has to be used.

3. Have a superserver that will forward the connection to the
appropriate server (using ALPN or dns_name). sslh that was proposed by
Jason sounds something close to that.

The drawback of ALPN is that old clients that don't use ALPN wouldn't
be distinguished. However, other fields of the TLS client hello can be
used to distinguish the client (e.g., the dns_name of the server ->
vpn.example.com will be forwarded to ocserv, while www.example.com
will be handled by the server).

[0]. http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-03

regards,
Nikos



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux