Azure虚拟机中运行服务器的外部浏览器连接方案问询
解决Azure VM通过Bastion访问服务器的两种方案
一、用本地外部浏览器连接VM上的服务器
1. 检查网络权限配置
- 网络安全组(NSG):进入VM关联的NSG,添加入站规则,允许服务器使用的端口(如80、443或自定义端口),源地址可设置为你的本地公网IP或特定IP范围。
- VM本地防火墙:
- Windows:打开「Windows Defender防火墙」→「高级设置」,添加入站规则开放对应端口。
- Linux:执行命令开放端口:
# UFW防火墙 ufw allow <你的服务器端口>/tcp ufw reload # firewalld防火墙 firewall-cmd --add-port=<你的服务器端口>/tcp --permanent firewall-cmd --reload
- 公网IP(可选):若VM无公网IP,可直接给VM分配公网IP,之后用公网IP+端口访问;若不想暴露公网IP,用下面的Bastion端口转发方案。
2. 使用Bastion端口转发(安全无公网IP方案)
- 在Azure门户进入Bastion服务,选择「连接」→「端口转发」。
- 填写本地端口(如
8080)、VM目标端口(即服务器运行的端口,如80),选择对应VM后点击「连接」。 - 连接成功后,本地浏览器访问
http://localhost:8080即可转发到VM上的服务器。
二、在Azure Bastion界面内使用浏览器
1. Windows VM场景
通过Bastion的RDP连接进入VM后,直接打开VM内置的Edge/IE浏览器,访问服务器的本地地址(如http://localhost:<端口>或VM的内网IP)即可。
2. Linux VM场景
- 若要使用可视化浏览器,需先在VM上安装图形界面(以Ubuntu为例):
sudo apt update sudo apt install xfce4 xfce4-goodies sudo systemctl set-default graphical.target - 重启VM后,通过Bastion的RDP连接(需在连接时勾选「启用图形化」选项)进入VM,打开桌面浏览器访问服务器地址。
- 若仅需命令行验证,可使用
curl或w3m命令行工具:curl http://localhost:<端口>
关键排查点
- 确认服务器监听端口状态:Windows用
netstat -an、Linux用ss -tulpn,确保端口绑定的是0.0.0.0或VM内网IP(而非仅127.0.0.1,否则仅能VM本地访问)。 - 端口转发时检查本地端口是否被其他程序占用,可换用未被占用的端口。
内容的提问来源于stack exchange,提问作者Carabes
相关产品推荐
相关产品推荐

