This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
nova-rdp [2013/12/23 03:11] admin |
nova-rdp [2014/01/10 23:38] admin |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Nova RDP Support====== | + | ====== Nova RDP Support |
Nova currently provides support for [[http:// | Nova currently provides support for [[http:// | ||
- | ===== Getting | + | [[http:// |
- | This requires a public API which is symmetric with the VNC and SPICE ones. | ||
- | ==== Get an RDP console URL: V2 API ==== | + | ---- |
+ | ===== Configuring Nova for RDP support ===== | ||
- | ^Verb ^URI ^Description ^ | + | RDP console |
- | |GET |/ | + | |
- | Normal Response Code(s): 200 | + | [rdp] |
+ | enabled=True | ||
+ | html5proxy_base_url=http:// | ||
+ | |||
+ | Where the url specified in the **html5proxy_base_url** setting is provided by the FreeRDP HTML5 proxy as detailed in the next section. | ||
- | Error Response Code(s): badRequest (400), itemNotFound (404), buildInProgress (409) | + | ===== Installing and configuring the FreeRDP HTML5 proxy ===== |
+ | The FreeRDP HTML5 proxy can be installed on various Linux distributions (currently Ubuntu >= 12.04, RHEL 6.x / CentOS 6.x and Fedora >= 16) or on Microsoft Windows, including also Hyper-V Server. | ||
- | === Example. Get RDP console URL request: XML === | + | ==== Ubuntu 12.04 and above ==== |
- | <code xml> | + | A shell script is provided to simplify the installation of the application and the dependencies, |
- | <?xml version=" | + | |
- | < | + | |
- | </ | + | |
- | === Example. Get RDP console URL request: JSON === | + | sudo apt-get install -y git |
+ | git clone https:// | ||
+ | cd FreeRDP-WebConnect | ||
+ | |||
+ | sudo ./ | ||
+ | ./setup_all.sh | ||
+ | |||
+ | At this point the proxy, called **wsgate** can be installed by running: | ||
- | <code javascript> | + | sudo make install |
- | { | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | === Example. Get RDP console URL response: XML === | + | ==== wsgate configuration ==== |
- | <code xml> | + | The default configuration file is located here: |
- | <?xml version=' | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | === Example. Get RDP console URL response: JSON === | + | / |
+ | |||
+ | Change the following options to match your environment configuration: | ||
- | <code javascript> | + | [global] |
- | { | + | |
- | | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | ==== Get an RDP console URL: V3 API ==== | + | Note: make sure to open the port in your operating system firewall. |
- | ^Verb ^URI ^Description ^ | + | [openstack] |
- | |GET |/v3/servers/{id}/ | + | |
+ | username = admin | ||
+ | password = secret | ||
+ | tenantname = admin | ||
- | Normal Response Code(s): 200 | + | [hyperv] |
+ | # Credentials used to connect to the Hyper-V hosts when accessing | ||
+ | # OpenStack instances consoles | ||
- | Error Response Code(s): badRequest (400), itemNotFound (404), buildInProgress (409) | + | hostusername = Administrator |
+ | hostpassword = secret | ||
- | === Example. Get RDP console URL request: XML === | + | 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. |
- | <code xml> | + | [ssl] |
- | <?xml version=" | + | |
- | < | + | |
- | </code> | + | certpass = verysecret |
- | === Example. Get RDP console URL request: JSON === | + | HTML, CSS and Javascript files are available at the following location for further customization: |
- | <code javascript> | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | </code> | + | |
- | === Example. Get RDP console URL response: XML === | + | ==== Running wsgate |
+ | |||
+ | wsgate can be executed as a demon with the following instruction: | ||
- | Same output as in the [[nova-rdp#Example. Get RDP console URL response: XML|V2 API example]] | + | wsgate |
- | === Example. Get RDP console URL response: JSON === | + | In case you should prefer |
- | + | ||
- | Same output as in the [[nova-rdp# | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== Getting console connection details ===== | + | |
- | + | ||
- | 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 | + | |
- | + | ||
- | ==== Get console connection info: V2 API ==== | + | |
- | + | ||
- | ^Verb ^URI ^Description ^ | + | |
- | |GET |/ | + | |
- | + | ||
- | Normal Response Code(s): 200 | + | |
- | + | ||
- | Error Response Code(s): badRequest (400), itemNotFound (404) | + | |
- | + | ||
- | + | ||
- | === Example. Get console connection request: XML === | + | |
- | + | ||
- | <code xml> | + | |
- | <?xml version=" | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | ==== Example. Get console connection request: JSON ==== | + | |
- | + | ||
- | <code javascript> | + | |
- | { | + | |
- | " | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ==== Example. Get console connection response: XML ==== | + | |
- | + | ||
- | <code xml> | + | |
- | <?xml version=' | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | ==== Example. Get console connection response: JSON ==== | + | |
- | + | ||
- | <code javascript> | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ==== Get console connection info: V3 API ==== | + | |
- | + | ||
- | ^Verb ^URI ^Description ^ | + | |
- | |GET |/ | + | |
- | + | ||
- | Normal Response Code(s): 200 | + | |
- | + | ||
- | Error Response Code(s): badRequest (400), itemNotFound (404) | + | |
- | + | ||
- | === Example. Get console connection request: XML === | + | |
- | + | ||
- | <code xml> | + | |
- | <?xml version=" | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | === Example. Get console connection request: JSON === | + | |
- | + | ||
- | <code javascript> | + | |
- | { | + | |
- | " | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | === Example. Get console connection response: XML === | + | |
- | + | ||
- | Same output as in the [[nova-rdp# | + | |
- | + | ||
- | === Example. Get console connection response: JSON === | + | |
- | + | ||
- | Same output as in the [[nova-rdp# | + | |
+ | [global] | ||
+ | daemon = false | ||