You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by Rene Mayrhofer <re...@fh-hagenberg.at> on 2011/08/29 11:30:01 UTC

Proxying to dynamically changing origin servers

Hi everybody,

[Please CC me in replies, I am not currently subscribed to this mailing 
list.]

For a research project, we currently have an interesting problem to 
solve: to connect HTTPS clients to dynamically changing, internal HTTPS 
servers. One approach that we are currently evaluating is to use a 
publicly accessible HTTP proxy with CONNECT support to "tunnel" the 
HTTPS connections to the internal servers. However, the internal 
addresses may change dynamically. The question is therefore if Traffic 
Server can be configured to (or if it is easy to write a plug-in to):

a) be used in "normal" proxy server mode for clients with explicit proxy 
server configuration to use the CONNECT call for some HTTPS URLs; and

b) for the origin server resolving to be done dynamically based on 
internal look-up tables. E.g. the URL 
https://my-example.local.com/whatever specified by any client in the 
CONNECT request should be mapped to host 10.20.30.40 (the HTTPS server 
may use my-example.local.com as its server address, but the IP will 
change dynamically).

I am aware that this is a mix between reverse proxy functionality 
(mapping to internal servers) and normal proxying (CONNECT to 
client-specified, different URLs). Based on the SDK documentation, I am 
also unsure which kind of plug-in would be required to make this work. 
The backup plan is to use a "normal" proxy with dynamic DNS for 
resolving the internal IP addresses, but we would like to avoid this 
complexity if possible.

Are we on the right track and is this possible with Traffic Server?

best regards,
Rene

RE: Serving Stale Cached Content when origin server unreachable

Posted by "Walsh, Peter" <Pe...@disney.com>.
Hello all,
I just wanted to follow up on my earlier email below here to see if someone can confirm my assumptions. 
Thank you,

Pete Walsh
Software Engineer
206-664-4150

-----Original Message-----
From: Walsh, Peter [mailto:Peter.Walsh@disney.com] 
Sent: Thursday, September 01, 2011 3:02 PM
To: users@trafficserver.apache.org
Subject: Serving Stale Cached Content when origin server unreachable

Hello all,
I found information in the Admin docs that indicate if the origin server doesn’t respond to a revalidation query, Traffic Server serves stale data along with a warning.

My question is:  How often will Traffic Server try to revalidate the object when it has already been unable perform a revalidation query for that object before?  My assumption is that Traffic Server will attempt to perform the revalidation on a single client request at a time and any other requests that come in for that same object will be served the stale cached object for as long as the time set in “proxy.config.connection_collapsing.revaliate_window_period”.  Is this correct?

Thanks in advance,

Pete Walsh
Software Engineer
206-664-4150


Serving Stale Cached Content when origin server unreachable

Posted by "Walsh, Peter" <Pe...@disney.com>.
Hello all,
I found information in the Admin docs that indicate if the origin server doesn’t respond to a revalidation query, Traffic Server serves stale data along with a warning.

My question is:  How often will Traffic Server try to revalidate the object when it has already been unable perform a revalidation query for that object before?  My assumption is that Traffic Server will attempt to perform the revalidation on a single client request at a time and any other requests that come in for that same object will be served the stale cached object for as long as the time set in “proxy.config.connection_collapsing.revaliate_window_period”.  Is this correct?

Thanks in advance,

Pete Walsh
Software Engineer
206-664-4150


Re: Proxying to dynamically changing origin servers

Posted by "ming.zym@gmail.com" <mi...@gmail.com>.
hmm, that is hard to solve by TS, why not setup some vpn tunnel, ie
using tap or tun etc, that will make things much easy for manage

在 2011-08-31三的 10:56 +0200,Rene Mayrhofer写道:
> Thanks for the answers! Based on these recommendations, we will try the DynDNS approach first. However, ....
> 
> On Wednesday 31 August 2011 09:33:29 ming.zym@gmail.com wrote:
> > in this case, I think the ddns still be a very good solution for you,
> > what you need is:
> > 1, setup a ddns, in the intranet, ie a dhcp zone.
> > 2, setup the target origin server to update dns using ddns update.
> > 3, make sure the proxy server can get your ddns target resoled.
> > 4, config TS's hostdb following dns's TTL
> > 
> > then you don't need to find someway to do magic mapping, all you need is
> > a ddns update with dhcp working.
> 
> There is one use-case not previously mentioned in my email: some of the target origin servers may (as a future extension) not be reachable from the proxy, but may need to connect to the proxy server and keep the TCP connection alive from their end (firewall and NAT issues). That is something that is not even in detailled planning stage yet, but I'd like to keep the architecture open for this extension. Would Traffic Server allow us to write a network plugin that would re-use existing TCP sockets to origin servers instead of establishing a new one for each request, or would that go against the basic design?
> 
> best regards,
> Rene
> 
> > 在 2011-08-30二的 14:33 +0000,Igor Galić写道:
> > > 
> > > ----- Original Message -----
> > > > Hi everybody,
> > > > 
> > > > [Please CC me in replies, I am not currently subscribed to this
> > > > mailing
> > > > list.]
> > > > 
> > > > For a research project, we currently have an interesting problem to
> > > > solve: to connect HTTPS clients to dynamically changing, internal
> > > > HTTPS
> > > > servers. One approach that we are currently evaluating is to use a
> > > > publicly accessible HTTP proxy with CONNECT support to "tunnel" the
> > > > HTTPS connections to the internal servers. However, the internal
> > > > addresses may change dynamically. The question is therefore if
> > > > Traffic
> > > > Server can be configured to (or if it is easy to write a plug-in to):
> > > > 
> > > > a) be used in "normal" proxy server mode for clients with explicit
> > > > proxy
> > > > server configuration to use the CONNECT call for some HTTPS URLs; and
> > > > 
> > > > b) for the origin server resolving to be done dynamically based on
> > > > internal look-up tables. E.g. the URL
> > > > https://my-example.local.com/whatever specified by any client in the
> > > > CONNECT request should be mapped to host 10.20.30.40 (the HTTPS
> > > > server
> > > > may use my-example.local.com as its server address, but the IP will
> > > > change dynamically).
> > > 
> > > It seems to me all that is required is to set the DNS TTL very low. 
> > > 
> > > 
> > > > I am aware that this is a mix between reverse proxy functionality
> > > > (mapping to internal servers) and normal proxying (CONNECT to
> > > > client-specified, different URLs). Based on the SDK documentation, I
> > > > am
> > > > also unsure which kind of plug-in would be required to make this
> > > > work.
> > > > The backup plan is to use a "normal" proxy with dynamic DNS for
> > > > resolving the internal IP addresses, but we would like to avoid this
> > > > complexity if possible.
> > > > 
> > > > Are we on the right track and is this possible with Traffic Server?
> > > > 
> > > > best regards,
> > > > Rene
> > > 
> > > i
> > > 
> > 
> > 
> > 
> 



Re: Proxying to dynamically changing origin servers

Posted by Rene Mayrhofer <re...@fh-hagenberg.at>.
Thanks for the answers! Based on these recommendations, we will try the DynDNS approach first. However, ....

On Wednesday 31 August 2011 09:33:29 ming.zym@gmail.com wrote:
> in this case, I think the ddns still be a very good solution for you,
> what you need is:
> 1, setup a ddns, in the intranet, ie a dhcp zone.
> 2, setup the target origin server to update dns using ddns update.
> 3, make sure the proxy server can get your ddns target resoled.
> 4, config TS's hostdb following dns's TTL
> 
> then you don't need to find someway to do magic mapping, all you need is
> a ddns update with dhcp working.

There is one use-case not previously mentioned in my email: some of the target origin servers may (as a future extension) not be reachable from the proxy, but may need to connect to the proxy server and keep the TCP connection alive from their end (firewall and NAT issues). That is something that is not even in detailled planning stage yet, but I'd like to keep the architecture open for this extension. Would Traffic Server allow us to write a network plugin that would re-use existing TCP sockets to origin servers instead of establishing a new one for each request, or would that go against the basic design?

best regards,
Rene

> 在 2011-08-30二的 14:33 +0000,Igor Galić写道:
> > 
> > ----- Original Message -----
> > > Hi everybody,
> > > 
> > > [Please CC me in replies, I am not currently subscribed to this
> > > mailing
> > > list.]
> > > 
> > > For a research project, we currently have an interesting problem to
> > > solve: to connect HTTPS clients to dynamically changing, internal
> > > HTTPS
> > > servers. One approach that we are currently evaluating is to use a
> > > publicly accessible HTTP proxy with CONNECT support to "tunnel" the
> > > HTTPS connections to the internal servers. However, the internal
> > > addresses may change dynamically. The question is therefore if
> > > Traffic
> > > Server can be configured to (or if it is easy to write a plug-in to):
> > > 
> > > a) be used in "normal" proxy server mode for clients with explicit
> > > proxy
> > > server configuration to use the CONNECT call for some HTTPS URLs; and
> > > 
> > > b) for the origin server resolving to be done dynamically based on
> > > internal look-up tables. E.g. the URL
> > > https://my-example.local.com/whatever specified by any client in the
> > > CONNECT request should be mapped to host 10.20.30.40 (the HTTPS
> > > server
> > > may use my-example.local.com as its server address, but the IP will
> > > change dynamically).
> > 
> > It seems to me all that is required is to set the DNS TTL very low. 
> > 
> > 
> > > I am aware that this is a mix between reverse proxy functionality
> > > (mapping to internal servers) and normal proxying (CONNECT to
> > > client-specified, different URLs). Based on the SDK documentation, I
> > > am
> > > also unsure which kind of plug-in would be required to make this
> > > work.
> > > The backup plan is to use a "normal" proxy with dynamic DNS for
> > > resolving the internal IP addresses, but we would like to avoid this
> > > complexity if possible.
> > > 
> > > Are we on the right track and is this possible with Traffic Server?
> > > 
> > > best regards,
> > > Rene
> > 
> > i
> > 
> 
> 
> 

-- 
-----------------------------------------------------------------------------
Prof. (FH) Priv.-Doz. Dr. René Mayrhofer
Professor for Mobile Computing

School of Informatics/Communications/Media
University of Applied Sciences Upper Austria
FH OÖ Studienbetriebs GmbH
Softwarepark 11
4232 Hagenberg/Austria
Phone: +43 (0)7236 3888-2823
Fax: +43 (0)7236 3888-2899
E-Mail: rene.mayrhofer@fh-hagenberg.at
Web: www.fh-ooe.at

Firmenbuchgericht/Court of registry: Landesgericht Wels
Firmenbuchnummer/Company registration: FN 236729 g

Re: Proxying to dynamically changing origin servers

Posted by "ming.zym@gmail.com" <mi...@gmail.com>.
in this case, I think the ddns still be a very good solution for you,
what you need is:
1, setup a ddns, in the intranet, ie a dhcp zone.
2, setup the target origin server to update dns using ddns update.
3, make sure the proxy server can get your ddns target resoled.
4, config TS's hostdb following dns's TTL

then you don't need to find someway to do magic mapping, all you need is
a ddns update with dhcp working.

FYI 

在 2011-08-30二的 14:33 +0000,Igor Galić写道:
> 
> ----- Original Message -----
> > Hi everybody,
> > 
> > [Please CC me in replies, I am not currently subscribed to this
> > mailing
> > list.]
> > 
> > For a research project, we currently have an interesting problem to
> > solve: to connect HTTPS clients to dynamically changing, internal
> > HTTPS
> > servers. One approach that we are currently evaluating is to use a
> > publicly accessible HTTP proxy with CONNECT support to "tunnel" the
> > HTTPS connections to the internal servers. However, the internal
> > addresses may change dynamically. The question is therefore if
> > Traffic
> > Server can be configured to (or if it is easy to write a plug-in to):
> > 
> > a) be used in "normal" proxy server mode for clients with explicit
> > proxy
> > server configuration to use the CONNECT call for some HTTPS URLs; and
> > 
> > b) for the origin server resolving to be done dynamically based on
> > internal look-up tables. E.g. the URL
> > https://my-example.local.com/whatever specified by any client in the
> > CONNECT request should be mapped to host 10.20.30.40 (the HTTPS
> > server
> > may use my-example.local.com as its server address, but the IP will
> > change dynamically).
> 
> It seems to me all that is required is to set the DNS TTL very low. 
> 
> 
> > I am aware that this is a mix between reverse proxy functionality
> > (mapping to internal servers) and normal proxying (CONNECT to
> > client-specified, different URLs). Based on the SDK documentation, I
> > am
> > also unsure which kind of plug-in would be required to make this
> > work.
> > The backup plan is to use a "normal" proxy with dynamic DNS for
> > resolving the internal IP addresses, but we would like to avoid this
> > complexity if possible.
> > 
> > Are we on the right track and is this possible with Traffic Server?
> > 
> > best regards,
> > Rene
> 
> i
> 



Re: Proxying to dynamically changing origin servers

Posted by Igor Galić <i....@brainsware.org>.

----- Original Message -----
> Hi everybody,
> 
> [Please CC me in replies, I am not currently subscribed to this
> mailing
> list.]
> 
> For a research project, we currently have an interesting problem to
> solve: to connect HTTPS clients to dynamically changing, internal
> HTTPS
> servers. One approach that we are currently evaluating is to use a
> publicly accessible HTTP proxy with CONNECT support to "tunnel" the
> HTTPS connections to the internal servers. However, the internal
> addresses may change dynamically. The question is therefore if
> Traffic
> Server can be configured to (or if it is easy to write a plug-in to):
> 
> a) be used in "normal" proxy server mode for clients with explicit
> proxy
> server configuration to use the CONNECT call for some HTTPS URLs; and
> 
> b) for the origin server resolving to be done dynamically based on
> internal look-up tables. E.g. the URL
> https://my-example.local.com/whatever specified by any client in the
> CONNECT request should be mapped to host 10.20.30.40 (the HTTPS
> server
> may use my-example.local.com as its server address, but the IP will
> change dynamically).

It seems to me all that is required is to set the DNS TTL very low. 


> I am aware that this is a mix between reverse proxy functionality
> (mapping to internal servers) and normal proxying (CONNECT to
> client-specified, different URLs). Based on the SDK documentation, I
> am
> also unsure which kind of plug-in would be required to make this
> work.
> The backup plan is to use a "normal" proxy with dynamic DNS for
> resolving the internal IP addresses, but we would like to avoid this
> complexity if possible.
> 
> Are we on the right track and is this possible with Traffic Server?
> 
> best regards,
> Rene

i

-- 
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/
GPG: 571B 8B8A FC97 266D BDA3  EF6F 43AD 80A4 5779 3257