diff --git a/vnc_auto.html b/vnc_auto.html
index ffdfc007..ae2e7ca0 100644
--- a/vnc_auto.html
+++ b/vnc_auto.html
@@ -90,9 +90,20 @@
$D('sendCtrlAltDelButton').onclick = sendCtrlAltDel;
document.title = unescape(WebUtil.getQueryVar('title', 'noVNC'));
+ host = WebUtil.getQueryVar('host', null);
+ port = WebUtil.getQueryVar('port', null);
+
+ // If a token variable is passed in, set the parameter in a cookie.
+ // This is used by nova-novncproxy.
token = WebUtil.getQueryVar('token', null);
- host = window.location.hostname;
- port = window.location.port;
+ if (token) {
+ // If token is set, we are using nova-novncproxy.
+ // Use host and port of server that served this file.
+ host = window.location.hostname;
+ port = window.location.port;
+ WebUtil.createCookie('token', token, 1)
+ }
+
password = WebUtil.getQueryVar('password', '');
path = WebUtil.getQueryVar('path', 'websockify');
if ((!host) || (!port)) {
@@ -110,12 +121,6 @@
'view_only': WebUtil.getQueryVar('view_only', false),
'updateState': updateState,
'onPasswordRequired': passwordRequired});
-
- /* If a token variable is passed in, set the parameter in a cookie. This is
- used by nova-novncproxy. */
- if (token) {
- WebUtil.createCookie('token', token, 1)
- }
rfb.connect(host, port, password, path);
};