实际问题如下:
我的电脑上有vm虚拟机,我有两个网络,一个叫137,一个叫102 ,我现在vm的网络是102的网络(137不允许被vm使用),但是别人都是137的网络,如何让137的局域网访问我的vm中的网站/应用
我的解决办法是使用Nginx来将vm中的102网络反向代理到宿主机上(137), 比如我在vm部署了一个网站,访问地址是102.123.123.10:8080,最终我可以让137的局域网可以访问到这个网站
1.首先我们用宿主机去nginx官网下载nginx https://nginx.org/en/download.html
我下载的是解压版的,直接解压到d:\nginx
2.打开conf 文件夹,找到nginx.conf,编辑,在server 下增加如下配置项:
1 2 3 4 5 6 7 8 9 10 | server { listen 8080; server_name vmWebSite; location / { proxy_pass http: //102.123.123.10:8080; root html; index index.html index.htm; } } |
3.保存文件,打开cmd 进入到d:\nginx 然后执行命令 start nginx;
4.使用宿主机浏览器访问:http://localhost:8080/ (虚拟机要设置防火墙,允许8080出入站,或者直接关闭防火墙);
5.大功告成(宿主机也要设置防火墙,允许8080出入站,或者直接关闭防火墙)),结果图:
补充一下,远程桌面也可以进行代理,具体配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | events { worker_connections 1024; # 设置每个工作进程的最大连接数 } stream { server { listen 3333; # Nginx监听的端口 proxy_pass 192.168.148.128:3389; # 将请求代理到Windows远程桌面服务的IP地址和端口 } server { listen 2222; # Nginx监听的端口 proxy_pass 192.168.148.129:22; # 将请求代理到Ubuntu远程桌面服务的IP地址和端口 } server { listen 90; # Nginx监听的Web端口 proxy_pass 192.168.148.129:190; } server { listen 91; # Nginx监听的WebApi端口 proxy_pass 192.168.148.129:191; } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步