故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序

2023-05-16

有多种原因可导致无法启用或连接到在 Azure 虚拟机 (VM) 上运行的应用程序。原因包括应用程序未在预期端口上运行或侦听、侦听端口受到阻止,或网络规则未将流量正确传递到应用程序。本文说明有条理地找到问题并更正问题。

如果在使用 RDP 或 SSH 连接到 VM 时发生问题,请先参阅以下文章之一:

  • 对与基于 Windows 的 Azure 虚拟机的远程桌面连接进行故障排除
  • 对于基于 Linux 的 Azure 虚拟机的 Secure Shell (SSH) 连接进行故障排除
Note

Azure 具有用于创建和处理资源的两个不同的部署模型:资源管理器和经典。这篇文章介绍了如何使用这两种模型,但 Azure 建议大多数最新部署使用 Resource Manager 模型。

如果你对本文中的任何点需要更多帮助,可以联系 MSDN Azure 和 CSDN Azure上的 Azure 专家。或者,你也可以提出 Azure 支持事件。请转到 Azure 支持站点并选择“获取支持”。

快速排查终结点连接问题

如果在连接到应用程序时发生问题,请尝试以下一般故障排除步骤。执行每个步骤之后,尝试重新连接到应用程序:

  • 重启虚拟机
  • 重新创建终结点/防火墙规则/网络安全组 (NSG) 规则
    • 经典模型 - 管理云服务终结点
    • Resource Manager 模型 - 管理网络安全组
  • 从不同的位置(例如不同的 Azure 虚拟网络)进行连接
  • 重新部署虚拟机
    • 重新部署 Windows VM
    • 重新部署 Linux VM
  • 重新创建虚拟机

有关详细信息,请参阅终结点连接(RDP/SSH/HTTP 等故障)疑难解答。

详细故障排除概述

有四个主要区域需要对 Azure 虚拟机上运行的应用程序的访问进行故障排除。

对无法启动应用程序进行故障排除

  1. 在 Azure 虚拟机上运行的应用程序。
    • 应用程序本身是否正常运行?
  2. Azure 虚拟机。
    • VM 本身是否正常运行并响应请求?
  3. Azure 网络终结点。
    • 用于经典部署模型中虚拟机的云服务终结点。
    • 用于 Resource Manager 部署模型中虚拟机的网络安全组和入站 NAT 规则。
    • 流量是否可以通过预期的端口从用户流向 VM/应用程序?
  4. Internet 边缘设备。
    • 是否有防火墙规则阻止流量正常流动?

对于通过站点到站点 VPN 或 ExpressRoute 连接访问应用程序的客户端计算机,可能会导致问题的主要区域是应用程序和 Azure 虚拟机。若要确定问题根源并进行更正,请执行以下步骤。

步骤 1:从目标 VM 访问应用程序

尝试使用适当的客户端程序,从运行该程序的 VM 访问应用程序。使用本地主机名、本地 IP 地址或环回地址 (127.0.0.1)。

直接从 VM 启动应用程序

例如,如果应用程序是 Web 服务器,则在 VM 上打开浏览器,并尝试访问 VM 上托管的网页。

如果可以访问应用程序,请转到步骤 2。

如果不能访问应用程序,请验证以下设置:

  • 应用程序是否在目标虚拟机上运行。
  • 应用程序是否在预期 TCP 和 UDP 端口侦听。

在基于 Windows 和基于 Linux 的虚拟机上,使用 netstat -a 命令显示活动的侦听端口。检查应用程序应侦听的预期端口的输出。重新启动应用程序,或根据需要将其配置为使用预期的端口,然后尝试在本地重新访问应用程序。

步骤 2:从同一虚拟网络中的另一个 VM 访问应用程序

使用 VM 的主机名或其 Azure 分配的公共、专用或提供程序 IP 地址尝试访问位于不同 VM 但相同虚拟网络中的应用程序。对于使用经典部署模型创建的虚拟机,请不要使用云服务的公共 IP 地址。

从不同的 VM 启动应用程序

例如,如果应用程序是 Web 服务器,则尝试在相同虚拟网络中的不同 VM 上使用浏览器访问网页。

如果可以访问应用程序,请转到步骤 3。

如果不能访问应用程序,请验证以下设置:

  • 目标 VM 上的主机防火墙允许入站请求和出站响应流量。
  • 目标 VM 上运行的入侵检测或网络监视软件允许流量。
  • 云服务终结点或网络安全组允许流量
    • 经典模型 - 管理云服务终结点
    • Resource Manager 模型 - 管理网络安全组
  • VM 中在测试 VM 和你的 VM 之间的路径运行的单独组件(例如负载均衡器或防火墙)允许流量。

在基于 Windows 的虚拟机上,使用具有高级安全性的 Windows 防火墙确定防火墙规则是否排除应用程序的入站和出站流量。

步骤 3:从虚拟网络外部访问应用程序

尝试通过虚拟网络之外的计算机访问应用程序,作为应用程序运行的 VM。使用其他网络作为原始客户端计算机。

从虚拟网络外部的计算机启动应用程序。

例如,如果应用程序是 Web 服务器,则尝试通过不在虚拟网络中的虚拟机使用浏览器访问网页。

如果不能访问应用程序,请验证以下设置:

  • 对于使用经典部署模型创建的 VM:

    • VM 的终结点配置允许传入流量,尤其是协议(TCP 或 UDP)及公用和专用端口号。
    • 终结点上的访问控制列表 (ACL) 不会阻止来自 Internet 的传入流量。
    • 有关详细信息,请参阅如何对虚拟机设置终结点。
  • 对于使用 Resource Manager 部署模型创建的 VM:

    • VM 的入站 NAT 规则配置允许传入流量,尤其是协议(TCP 或 UDP)及公用和专用端口号。
    • 网络安全组允许入站请求和出站响应流量。
    • 有关详细信息,请参阅什么是网络安全组 (NSG)?

如果虚拟机或终结点是负载均衡集的成员,则:

  • 验证探测协议(TCP 或 UDP)和端口号是否正确。
  • 如果探测协议和端口与负载均衡集协议和端口不同,则:
    • 验证应用程序是否在探测协议(TCP 或 UDP)和端口号(在目标 VM 上使用 netstat -a)上侦听。
    • 目标 VM 上的主机防火墙允许入站探测请求和出站探测响应流量。

如果可以访问应用程序,请确保 Internet 边缘设备允许:

  • 从客户端计算机到 Azure 虚拟机的出站应用程序请求流量。
  • 来自 Azure 虚拟机的入站应用程序响应流量。

其他资源

对与基于 Windows 的 Azure 虚拟机的远程桌面连接进行故障排除

对于基于 Linux 的 Azure 虚拟机的 Secure Shell (SSH) 连接进行故障排除

立即访问http://market.azure.cn

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序 的相关文章

随机推荐

  • 3D空间位置计算 — 线与面的交点

    线与面的交点 64 PlanePt xff1a 平面内一点 64 PlaneVector xff1a 平面的法向量 64 LinePt xff1a 直线上一点 64 LineVector xff1a 直线的向量 Point3d s poin
  • python面向对象

    面向对象中的几点概念 xff1a 类 xff1a 用户定义的对象原型 xff08 prototype xff09 xff0c 该原型定义了一组可描述该类任何对象的属性 xff0c 属性是数据成员 xff08 类变量 和 实例变量 xff09
  • cmake 中 Error in configuration process, project files may be invalid

    qt配置opencv时 xff0c 用到cmake xff0c 弹出窗口 Error in configuration process project files may be invalid 错误 xff0c 主窗口显示 CMake Er
  • paddlepaddle(一)文字识别 - PaddleOCR简单使用

    PaddleOCR一步安装即可使用 OCR结果如图 xff1a 步骤 xff1a 可以直接使用pip安装PaddleOCR库 pip install paddleocr 执行代码即可 xff0c 示例 xff1a from paddleoc
  • python 把文件夹及子文件夹内的所有文件移动到指定文件夹中

    python 把文件夹及子文件夹内的所有文件移动到指定文件夹中 1 提取路径下所有文件到指定文件夹下 import shutil import os def move files source dest for root dirs file
  • vscode 中文乱码(解决方法)

    vscode一次自动更新后 xff0c 发现中文乱码了 查看了网上的解答 xff0c 记录一种解决方法 切换右下角任务栏的编码方式 xff0c UFT gt GB2312 或下拉GBK xff0c 如下图 xff1a
  • max_element() 和 min_element()

    找出容器中的最值 vector和数组都可以 一维的数据可以 多维的还没找到方法 xff0c 可能是不行的 完整代码 xff1a include lt iostream gt include lt vector gt include lt a
  • C/C++ 提取字符串中的指定位置(截取字符串、提取字符串)

    版权声明 xff1a 转载需标明该文链接 https blog csdn net zaibeijixing article details 88721195 一 利用C 43 43 自带字符串函数 xff1a int a 61 str fi
  • 树莓派-从入手到使用(一):树莓派入手操作第一步

    新组装的电脑硬盘显卡什么都有 xff0c 把window或linux系统安装在硬盘上就能开机使用了 树莓派没硬盘 xff0c 因此需要加个内存卡当硬盘 xff0c 另外要给这个硬盘上安装系统 xff0c 才能用 本人的是Raspberry
  • jupyter notebook 中运行.py文件

    jupyter notebook页面 xff0c 在需要运行的name py文件目录页面中 xff0c 新建python文件 xff0c 打开 xff0c 在cell中添加如下命令 xff1a run name py 运行该cell即可 根
  • 直方图均衡化及算法步骤

    2019 07 16 xff0c 科学家首次拍摄到一种量子纠缠的照片 量子领域还不懂 xff0c 先不研究 猛一看和今年刚出的黑洞照片倒有几分相似 黑洞照片看起来还是比较清晰地 xff0c 这个是黑白的 xff0c 亮度不均 xff0c 肉
  • 解决mongodb启动报错ERROR: child process failed, exited with error number 14的问题

    在使用mongodb导入数据时 xff0c 数据库无法链接 xff0c 关闭service 后仍然无法启动 可能的原因 xff1a service mongodb restart时启动失败没有正常关闭mongodb引起的 xff0c 比如直
  • 面向对象分析(4):步骤

    面向对象分析通常按照下面的步骤来进行 xff1a xff08 1 xff09 标识对象和类 可以从应用领域开始 xff0c 逐步确定形成整个应用的基础类和对象 这一步需要分析领域中目标系统的责任 xff0c 调查系统的环境 xff0c 从而
  • NTFS for Mac - 免费让 Mac 原生支持NTFS读写

    使用 Mac 电脑的朋友可能都遇过 xff0c 在使用 NTFS 文件格式的移动硬盘或U盘时 xff0c 默认只能以 只读 模式打开 xff0c 也就是说你只能读取复制文件而不能移动 修改 重命名或删除里面的东西 这确实很不便 xff0c
  • C++ 将十六进制字符串转换为二进制字符串

    C 43 43 将十六进制字符串转换为二进制字符串 前言一 源代码 前言 一种简单的方法将十六进制字符串转为二进制字符串 xff0c 不限制十六进制的字节数 一 源代码 传入的十六进制字符串需要转换为大写 xff01 X toupper s
  • python——paramiko详解

    目录 一 SSHClient类 ssh远程连接服务器 connet 远程主机没有本地主机密钥或HostKeys对象时的连接方法 xff0c 需要配置set missing host key policy policy 远程执行命令 在远程服
  • 绿盟网站安全防护服务(vWAF)

    平台 xff1a linux 类型 xff1a 虚拟机镜像 软件包 xff1a basic software devops nsfocus security waf 服务优惠价 按服务商许可协议 云服务器费用 查看费用 立即部署 产品详情
  • 华为服务器操作系统EulerOS V2.0

    平台 xff1a linux 类型 xff1a 虚拟机镜像 软件包 xff1a java 1 8 0 php 5 4 16 python 2 7 5 qt 4 8 5 tomcat 7 0 69 basic software euleros
  • 星环一站式大数据平台-4.6

    平台 xff1a arm 类型 xff1a ARM 模板 软件包 xff1a 星环一站式大数据平台 basic software big data hadoop tdh tos transwarp 大数据 星环科技 星环一站式大数据平台 云
  • 故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序

    有多种原因可导致无法启用或连接到在 Azure 虚拟机 VM 上运行的应用程序 原因包括应用程序未在预期端口上运行或侦听 侦听端口受到阻止 xff0c 或网络规则未将流量正确传递到应用程序 本文说明有条理地找到问题并更正问题 如果在使用 R