|
Hi
Im running a home server for some web apps im developing and just like i can have different cherrypy's listening on different ports, is it possible to have them listen to the same port but different subdomains? (some clients with firewalls have problems accessing other ports than 80) thanks Gusty -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
Gustaf Nilsson wrote:
> Im running a home server for some web apps im developing and just like > i can have different cherrypy's listening on different ports, is it > possible to have them listen to the same port but different > subdomains? (some clients with firewalls have problems accessing other > ports than 80) Only one application at a time can listen to a TCP port. You can certainly run a web server as a front end (like Apache, or one of the lightweight web servers like Xitami or lighttpd), and have them allocate your subdomain requests out to different ports. -- Tim Roberts, [hidden email] Providenza & Boekelheide, Inc. -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
On Windows, IIS can do this as well. See
http://blogs.iis.net/wonyoo/archive/2008/07/09/application-request-routing-arr-as-a-reverse-proxy.aspx. If your various apps can somehow be assembled into one root object, you could also look into using the VirtualHost dispatcher. See http://tools.cherrypy.org/wiki/VirtualHosts. Jacob On Mon, Mar 19, 2012 at 11:41 AM, Tim Roberts <[hidden email]> wrote: > Gustaf Nilsson wrote: >> Im running a home server for some web apps im developing and just like >> i can have different cherrypy's listening on different ports, is it >> possible to have them listen to the same port but different >> subdomains? (some clients with firewalls have problems accessing other >> ports than 80) > > Only one application at a time can listen to a TCP port. > > You can certainly run a web server as a front end (like Apache, or one > of the lightweight web servers like Xitami or lighttpd), and have them > allocate your subdomain requests out to different ports. > > -- > Tim Roberts, [hidden email] > Providenza & Boekelheide, Inc. > > -- > You received this message because you are subscribed to the Google Groups "cherrypy-users" group. > To post to this group, send email to [hidden email]. > To unsubscribe from this group, send email to [hidden email]. > For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
In reply to this post by Tim Roberts
On Mon, Mar 19, 2012 at 11:41:43AM -0700, Tim Roberts wrote:
> Gustaf Nilsson wrote: > > Im running a home server for some web apps im developing and just like > > i can have different cherrypy's listening on different ports, is it > > possible to have them listen to the same port but different > > subdomains? (some clients with firewalls have problems accessing other > > ports than 80) > > Only one application at a time can listen to a TCP port. > > You can certainly run a web server as a front end (like Apache, or one > of the lightweight web servers like Xitami or lighttpd), and have them > allocate your subdomain requests out to different ports. The above is generally what I do. I have the varios CP instances listening on localhost:n, localhost:n+1 etc and then just filter the requests by Host using Nginx. This doubles as a nice way to keep the CP instances from needing superuser permissions and leaves any logic about the actual URL where the apps can be found out of the app code, which is (IMHO) as it should be. -- Anders Langworthy PGP Key -> AC8C B93A C0AF 1439 A21D 9293 B774 A51E AA1F 608A -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
In reply to this post by Tim Roberts
On Mon, Mar 19, 2012 at 7:41 PM, Tim Roberts <[hidden email]> wrote: https://bitbucket.org/Lawouach/cherrypy-recipes/src/a243b0141e6f/deployment/vhost/__init__.py
Well only one single server can bind to a given port on a given interface indeed but since CherryPy supports virtual hosting, you can serve several applications with different sub-domains in one single CherryPy server without having to resort to a reverse proxy.
For instance: -- - Sylvain http://www.defuze.org http://twitter.com/lawouach -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
interesting! only problem is that i would like to keep my projects separated from eachother..
But could i have all my app running on separate scripts/ports and then have one proxy CP app that listens on port 80 and then redirects to the different apps? what would that code look like? thanks G
-- On Monday, March 19, 2012 8:07:40 PM UTC, Sylvain Hellegouarch wrote:
You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To view this discussion on the web visit https://groups.google.com/d/msg/cherrypy-users/-/gLSvYTOdb94J. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
On Mon, Mar 19, 2012 at 3:55 PM, Gustaf Nilsson <[hidden email]> wrote:
> interesting! only problem is that i would like to keep my projects separated > from eachother.. > But could i have all my app running on separate scripts/ports and then have > one proxy CP app that listens on port 80 and then redirects to the different > apps? what would that code look like? > > thanks > G Unless you're just curious, I'm pretty sure you don't even want to consider that approach. Using a real reverse proxy, you can keep your applications completely separate. On Windows, IIS+Application Request Routing is probably the path of least resistance. Jacob -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
I am a little curius now actually.. why is it such a bad idea?
On Monday, March 19, 2012 11:07:58 PM UTC, Jacob Wan wrote: On Mon, Mar 19, 2012 at 3:55 PM, Gustaf Nilsson <gustaf@l...da.com> wrote: On Monday, March 19, 2012 11:07:58 PM UTC, Jacob Wan wrote: On Mon, Mar 19, 2012 at 3:55 PM, Gustaf Nilsson <gustaf@l...a.com> wrote: On Monday, March 19, 2012 11:07:58 PM UTC, Jacob Wan wrote: On Mon, Mar 19, 2012 at 3:55 PM, Gustaf Nilsson <gustaf@la...a.com> wrote:-- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To view this discussion on the web visit https://groups.google.com/d/msg/cherrypy-users/-/lEY22zXkqYIJ. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
On Wed, Mar 21, 2012 at 12:50 PM, Gustaf Nilsson <[hidden email]> wrote:
> I am a little curius now actually.. why is it such a bad idea? > Hi Gustaf, Unless I'm mistaken, your real goal is to produce webapps, not web proxies. Maybe some of the web apps are written using Python and CherryPy, maybe some aren't (e.g. ASP.NET, Spring, etc.) Using the right tool for the job, or at least a good tool for the job, will help meet this goal. There are a number of good reverse proxy options available to forward requests on port 80 to other ports of your choosing. So unless you're really interested in reinventing that particular wheel, then my advice would be to select one of these, become friends with it, and let it do that work for you. Then you can focus on developing the webapps. FWIW, I do all my reverse proxying using nginx. It's simple to setup and configure. But I'm running on Linux, not Windows. Jacob > > On Monday, March 19, 2012 11:07:58 PM UTC, Jacob Wan wrote: >> >> On Mon, Mar 19, 2012 at 3:55 PM, Gustaf Nilsson <gustaf@l...da.com> wrote: >> > interesting! only problem is that i would like to keep my projects >> > separated >> > from eachother.. >> > But could i have all my app running on separate scripts/ports and then >> > have >> > one proxy CP app that listens on port 80 and then redirects to the >> > different >> > apps? what would that code look like? >> > >> > thanks >> > G >> >> Unless you're just curious, I'm pretty sure you don't even want to >> consider that approach. Using a real reverse proxy, you can keep your >> applications completely separate. On Windows, IIS+Application Request >> Routing is probably the path of least resistance. >> >> Jacob -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
Jacob's right: don't bother.
But if anyone did decide to try this, they shouldn't use CherryPy's application layer, because WSGI contains some one-way transformations and limitations that prohibit creation of a generic HTTP proxy. You might be able to use CherryPy's HTTP server without WSGI, but if you wanted to pursue that, you should start with Cheroot [1], which is CherryPy's HTTP server broken out into its own project. Robert Brewer [hidden email] [1] https://bitbucket.org/cherrypy/cheroot > -----Original Message----- > From: [hidden email] [mailto:cherrypy- > [hidden email]] On Behalf Of Jacob Wan > Sent: Wednesday, March 21, 2012 1:12 PM > To: [hidden email] > Subject: Re: [cherrypy-users] steering subdomains to different cherrypy > apps > > On Wed, Mar 21, 2012 at 12:50 PM, Gustaf Nilsson > <[hidden email]> wrote: > > I am a little curius now actually.. why is it such a bad idea? > > > Hi Gustaf, > > Unless I'm mistaken, your real goal is to produce webapps, not web > proxies. Maybe some of the web apps are written using Python and > CherryPy, maybe some aren't (e.g. ASP.NET, Spring, etc.) Using the > right tool for the job, or at least a good tool for the job, will help > meet this goal. There are a number of good reverse proxy options > available to forward requests on port 80 to other ports of your > choosing. So unless you're really interested in reinventing that > particular wheel, then my advice would be to select one of these, > become friends with it, and let it do that work for you. Then you can > focus on developing the webapps. > > FWIW, I do all my reverse proxying using nginx. It's simple to setup > and configure. But I'm running on Linux, not Windows. > > Jacob > > > > On Monday, March 19, 2012 11:07:58 PM UTC, Jacob Wan wrote: > >> > >> On Mon, Mar 19, 2012 at 3:55 PM, Gustaf Nilsson <gustaf@l...da.com> > wrote: > >> > interesting! only problem is that i would like to keep my projects > >> > separated > >> > from eachother.. > >> > But could i have all my app running on separate scripts/ports and > then > >> > have > >> > one proxy CP app that listens on port 80 and then redirects to the > >> > different > >> > apps? what would that code look like? > >> > > >> > thanks > >> > G > >> > >> Unless you're just curious, I'm pretty sure you don't even want to > >> consider that approach. Using a real reverse proxy, you can keep > your > >> applications completely separate. On Windows, IIS+Application > Request > >> Routing is probably the path of least resistance. > >> > >> Jacob > > -- > You received this message because you are subscribed to the Google > Groups "cherrypy-users" group. > To post to this group, send email to [hidden email]. > To unsubscribe from this group, send email to cherrypy- > [hidden email]. > For more options, visit this group at > http://groups.google.com/group/cherrypy-users?hl=en. -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
Ok ok i am now convinced this should not be done in CP.
Problem is i cant get IIS running properly, lighttpd is acting up, portfusion crashes, i hate apache, my dlink router cant do it, im running out of options! I guess nginx is next, but that will probably cost me another day of headache. :) G
You received this message because you are subscribed to the Google Groups "cherrypy-users" group.On Wednesday, March 21, 2012 10:19:12 PM UTC, fumanchu wrote: Jacob's right: don't bother. To view this discussion on the web visit https://groups.google.com/d/msg/cherrypy-users/-/6-Upb0t-Qj0J. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
I've been toying with writing and maintaining a cherrypy based (or WSGI based) reverse proxy for quite some time. I think I'd probably always use nginx as the real proxy on a production server myself - but a reverse proxy in WSGI would come in useful during development, for instance.
There is already one in existence: http://darcs.idyll.org/~t/projects/scotch/scotch/proxy.py I'm not sure how well it actually works. A combination of cherrypy's virtual host dispatcher and this WSGI app might do what you're looking for. I'm also not familiar with the one way transformations that Robert was referring to, but if your apps don't make use of those you might get away with it. With the ease of running an Ubuntu machine in a VM like Virtual box along with using nginx as the reverse proxy, I have a hard time using or recommending any other solution. If it were me, however, I'd host the Ubuntu server on a linode - not on my on home server. Lakin On Wed, Mar 21, 2012 at 6:43 PM, Gustaf Nilsson <[hidden email]> wrote: Ok ok i am now convinced this should not be done in CP. -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
|
In reply to this post by Gustaf Nilsson
On Thu, Mar 22, 2012 at 1:43 AM, Gustaf Nilsson <[hidden email]> wrote: -- Ok ok i am now convinced this should not be done in CP. You didn't seem to initially request for turning CP into a reverse proxy but you wanted to server different subdomains in one single CP instance which CP virtual hosting nicely does. If you want a reverse proxy, indeed, as the others said, CP shouldn't be used for that. Nginx is a common tool for such task. As pure proxies go, haproxy is a very useful tool. Lately I've also looked at sec-wall: http://sec-wall.gefira.pl
- Sylvain http://www.defuze.org http://twitter.com/lawouach -- You received this message because you are subscribed to the Google Groups "cherrypy-users" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en. |
| Powered by Nabble | Edit this page |
