10_nginx_Stream实现代理虚拟桌面
1. 实验现象
- 虚拟桌面:IP(192.168.74.241:3389)
- Nginx代理:IP(192.168.74.122:8888)
- 本机ip:(192.168.74.111)
在本机通过windows自带的远程桌面连接工具,输入Nginx代理的Ip:port ,可以连接到真实的虚拟桌面,并进行访问。
2. 虚拟桌面机配置
在虚拟桌面机安装xrpd,详细流程请移步01_虚拟桌面_xrdp的安装_Centos
3. Nginx代理配置
3.1 源码下载
3.2 安装
在安装时要加入--with-stream
模块进行编译
./configure --with-stream --prefix=/usr/local/nginx_vm
make && make install
3.3 修改配置文件
这个模块不是HTTP
的内容,要放到TCP
层面上,Nginx
会将tcp
的报文进行反向代理,
stream{
upstream vm_server{
server 192.168.74.241:3389;
}
server{
listen 8888;
proxy_connect_timeout 8s;
proxy_timeout 24h;
proxy_pass vm_server;
}
}
http{
...
}
3.4 运行Nginx
/usr/local/nginx_vm/sbin/nginx -p /usr/local/ngnx_vm -c conf/nginx.conf
就这样就结束了了
4. 效果
使用Windows上的远程桌面连接工具进行访问
4.1
远程桌面连接工具上写Nginx代理的IP和端口号
4.2 输入用户名&密码
4.3 登录了桌面,
可以看到,虚拟桌面的ip是192.168.74.122,但是里面的终端ip是192.168.74.241,就这样,Nginx对虚拟桌面流进行了代理。