实际问题如下:
我的电脑上有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 下增加如下配置项:
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出入站,或者直接关闭防火墙)),结果图:

补充一下,远程桌面也可以进行代理,具体配置如下:
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;
}
}
浙公网安备 33010602011771号