Question: I have setup a Remote Desktop Gateway server using Windows Server 2012 R2. I am using the Remote Desktop Gateway as an intermediary between to provide the remote desktop session over 443 since 3389 is blocked at many client locations.

However, I ran into a problem with a client who's network seems to be using an web proxy.

Is is possible to configure Remote Desktop to connect via web proxy? If so, how? If not does any one have any suggestions on how to provide a Remote Desktop session via 443 over proxy for situations where you don't control the client's PC or network? Does RemoteApps allow for access via web proxy when using RD Gateway?

The error message is below:

**Your computer can't connect to the remote computer because the web proxy server requires authentication. To allow unauthenticated traffic to an RD Gateway server through your web proxy server, contact your network administrator.**

Thanks for any help!

Answer: 
As of 2008 [a Microsoft employee indicated there was "no official way" to accomplish this](http://social.technet.microsoft.com/Forums/windowsserver/en-US/a341fda4-10ef-4c4c-8646-3ff10bea3a38/connecting-to-ts-gateway-through-a-web-proxy?forum=winserverTS). Given the six intervening years you'd like to think there has been progress, but I'm not seeing that there has been.

If I were in your situation I'd try to find a small Win32 HTTP/HTTPS proxy that can be "pointed" at an upstream proxy and configured to provide authentication. I don't have an immediate recommendation for such a thing. (I'd probably just throw something together with Perl or Python, personally.)
As Omaha's answer suggested, another option is an SSH tunnel. If you had SSH installed on your windows box [possibly not trivial] then you may be able to connect to that box, creating an SSH tunnel for a port, then connect your rdp client to that port (putty can create tunnels, or ssh can something like <https://stackoverflow.com/questions/19161960/connect-with-ssh-through-a-proxy>, ex:

`ssh username@intermediary_box -o "ProxyCommand=nc -X connect -x proxy_host_name:80 %h %p" -L:3389:remote_rdp_box:3389` then point your rdp client to `localhost` like normal, I've had this way work for me over an HTTP proxy). 

[FreeRDP-WebConnect](http://www.cloudbase.it/freerdp-html5-proxy-windows/) may be an option [it appears to be a web server backend to interface with RDP behind it, with HTML5 client front end] then you could open the port through to your box [whichever one it's serving on] and hopefully access that using HTTP. Assuming websockets aren't blocked. [Guacamole](http://guac-dev.org/) appears similar (you setup a service and web server on the RDP server box, it provides an HTML5 front end).

Barring that, if you have an external 3rd box (not behind any firewalls) that has an SSH server you could create a port forwarding through that intermediary box, via SSH (same mechanism <https://stackoverflow.com/questions/19161960/connect-with-ssh-through-a-proxy>).

For newer RDP clients, you might be able to setup an extra RDP "gateway" then connect to that using HTTP <http://sengstar2005.hubpages.com/hub/How-to-Remote-Desktop-to-a-Terminal-Server-via-a-Web-Proxy>