Re: [PATCH] Fix default websocket port detection in spice_auto.html

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

 



Hi,
>I'm concerned that setting port 80/443 as the default may be misleading
>to the average user.
Yep, you're right. But the patch is not really defaulting to port 80 or 443, it's more like a "fallback" port if window.location.port is empty. window.location.port still have precedence. 

>In general, the port we need to specify is going to connect to a
>websockify daemon, which will relay it on to a spice server.
Yep, again. In my setup, we don't want to expose the websockify daemon on the internet, it is hidden behind an Nginx reverse proxy. Nginx listen on port 443 and forward all the HTTP traffic to the right backend based on the content of the HTTP "Host:" header. The websockify daemon runs on a dedicated VM with a dedicated hostname.

>That is, will nginx and/or
>Apache intelligently relay a ws:// protocol request to an alternate port?
Exactly.

Jordan

----- Original Message -----
From: "Jeremy White" <jwhite@xxxxxxxxxxxxxxx>
To: spice-devel@xxxxxxxxxxxxxxxxxxxxx
Sent: Thursday, August 22, 2013 5:36:25 PM
Subject: Re:  [PATCH] Fix default websocket port detection in spice_auto.html

Hi Jordan,

On 08/20/2013 12:04 PM, Jordan Pittier wrote:
> If server runs on port 80 or 443 the default value of
> window.location.port is an empty string

I'm concerned that setting port 80/443 as the default may be misleading
to the average user.

In general, the port we need to specify is going to connect to a
websockify daemon, which will relay it on to a spice server.  And, in
general, that websockify instance will need to be running on a port
*other* than 80/443, as 80/443 is usually consumed by a web server.

I realize that you may be proxying the port; I'm not very familiar with
that process.  Is this a protocol proxy?  That is, will nginx and/or
Apache intelligently relay a ws:// protocol request to an alternate port?

Cheers,

Jeremy

> 
> Signed-off-by: Jordan Pittier <jordan.pittier-ext@xxxxxxxxxxxxx>
> ---
>  spice_auto.html |   14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/spice_auto.html b/spice_auto.html
> index 81ec8cf..3c853bc 100644
> --- a/spice_auto.html
> +++ b/spice_auto.html
> @@ -85,7 +85,19 @@
>  
>                  // By default, use the host and port of server that served this file
>                  host = spice_query_var('host', window.location.hostname);
> -                port = spice_query_var('port', window.location.port);
> +                var default_port = window.location.port;
> +
> +                // if this page is served by a server listening
> +                // on port 80 or 443, default_port is an empty string
> +                if (!default_port) {
> +                    if (window.location.protocol == 'http:') {            
> +                        default_port = 80;
> +                    }
> +                    else if (window.location.protocol == 'https:') {            
> +                        default_port = 443;
> +                    }
> +                }
> +                port = spice_query_var('port', default_port);
>  
>                  // If a token variable is passed in, set the parameter in a cookie.
>                  // This is used by nova-spiceproxy.

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]