Well actually you are right the http
is the problem but not exactly that one in your code block. Lets explain it a bit:
In your nginx.conf
file you have something similar to this:
http {
...
...
...
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
So everything you write in your conf files are inside this http
block/scope. But rdp is not http is a different protocol.
The only workaround I know for nginx to handle this is to work on tcp
level.
So inside in your nginx.conf
and outside the http
block you have to declare the stream
block like this:
stream {
# ...
server {
listen 80;
proxy_pass 192.168.0.100:3389;
}
}
With the above configuration just proxying your backend on tcp layer with a cost of course. As you may notice its missing the server_name
attribute you can't use it in the stream
scope, plus you lose all the logging functionality that comes on the http
level.
For more info on this topic check the docs
http
block as SSL connection. But cuz of my limited knowledge on this matter, I can't see how that's potentially possible. What are your thoughts? – Trinatte