This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
nova-rdp [2013/12/23 02:36] admin [Getting console connection details] |
nova-rdp [2014/06/12 19:37] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Nova RDP Support====== | + | ====== Nova RDP Support |
- | Nova currently provides support for [[http:// | + | Nova currently provides support for [[http:// |
- | ===== Getting | + | [[http:// |
- | Nova includes internally the required proxy solutions for VNC (novnc, xvpvnc) and SPICE, but this is not the case for RDP. Beside that, it's also desirable to leave third party the ability to choose a custom graphical console UI solution not necessarily included with Nova. In order to allow external tools to access graphical console protocol connection details, a public API has been provided. | ||
+ | ---- | ||
+ | ===== Configuring Nova for RDP support ===== | ||
- | ==== Get console | + | RDP console |
- | ^Verb ^URI ^Description ^ | + | [rdp] |
- | |GET |/servers/id/action |gets the connection info for the specified | + | |
+ | html5_proxy_base_url=http: | ||
+ | |||
+ | Where the url specified | ||
- | Normal Response Code(s): 200 | + | ===== Installing and configuring the FreeRDP HTML5 proxy ===== |
- | Error Response Code(s): badRequest (400), unauthorized (401), itemNotFound (404) | + | The FreeRDP HTML5 proxy can be installed on various Linux distributions |
+ | ==== Ubuntu 12.04 and above ==== | ||
- | ==== Example. Get console connection request: XML ==== | + | A shell script is provided to simplify the installation of the application and the dependencies, |
- | <code xml> | + | sudo apt-get install -y git |
- | <?xml version=" | + | git clone https:// |
- | <os-getConsoleConnectInfo/> | + | cd FreeRDP-WebConnect |
- | </code> | + | sudo ./setup_all.sh -f -i |
+ | |||
+ | At this point the proxy, called **wsgate** can be installed by running: | ||
- | ==== Example. Get console connection request: JSON ==== | + | sudo make install |
- | <code javascript> | + | ==== wsgate configuration ==== |
- | { | + | |
- | " | + | |
- | } | + | |
- | </ | + | |
- | ==== Example. Get console connection response: XML ==== | + | The default configuration file is located here: |
- | <code xml> | + | |
- | <?xml version=' | + | |
- | < | + | Change the following options to match your environment configuration: |
- | < | + | |
- | < | + | |
- | < | + | |
- | | + | |
- | </ | + | |
- | </ | + | |
- | ==== Example. Get console connection response: JSON ==== | + | [global] |
+ | port = 8000 | ||
- | <code javascript> | + | Note: make sure to open the port in your operating system firewall. |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | "port": 3389, | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | ==== Get console connection info: V3 API ==== | + | [openstack] |
+ | authurl | ||
+ | username | ||
+ | password | ||
+ | tenantname | ||
- | ^Verb ^URI ^Description ^ | + | [hyperv] |
- | |GET |/ | + | # Credentials used to connect to the Hyper-V hosts when accessing |
+ | # OpenStack instances consoles | ||
- | Normal Response Code(s): 200 | + | hostusername = Administrator |
+ | hostpassword = secret | ||
- | Error Response Code(s): badRequest (400), unauthorized (401), itemNotFound (404) | + | It is also strongly recommended to encrypt the traffic using HTTPS. Here are the relevant parameters, including a PEM file containing both the certificate and the private key. |
- | ==== Example. Get console connection request: XML ==== | + | [ssl] |
+ | port = 4430 | ||
+ | certfile | ||
+ | certpass | ||
- | <code xml> | + | HTML, CSS and Javascript files are available at the following location for further customization: |
- | <?xml version=" | + | |
- | < | + | |
- | </ | + | |
- | ==== Example. Get console connection request: JSON ==== | + | / |
- | <code javascript> | + | ==== Running wsgate ==== |
- | { | + | |
- | " | + | wsgate can be executed as a demon with the following instruction: |
- | } | + | |
- | </ | + | |
- | ==== Example. Get console connection response: XML ==== | + | wsgate |
- | + | ||
- | Same output as in the [[nova-rdp# | + | |
- | + | ||
- | ==== Example. Get console connection response: JSON ==== | + | |
- | + | ||
- | Same output as in the [[nova-rdp#Example. Get console connection response: JSON|V2 API example]] | + | |
+ | In case you should prefer to execute wsgate in a shell for debugging purposes, just set: | ||
+ | [global] | ||
+ | daemon = false | ||