gpt4 book ai didi

azure - 无法从函数应用程序通过 http 连接到 Azure VM

转载 作者:行者123 更新时间:2023-12-03 05:30:20 25 4
gpt4 key购买 nike

enter image description here

我有一个函数应用尝试与 Azure VM 进行通信。两者通过 VNET 集成位于同一个 VNET 中。

函数应用向 VM 的请求是通过 http 进行的,并且 VM 没有公共(public) IP。

网络安全组规则允许所有 VNET 入站/出站。但是,通过 http://[vm-private-ip]/testreqhttp://[vm-name]/testreq 请求时,请求不会通过。使用 IP 时,抛出的错误为“连接尝试失败,因为连接方在一段时间后未正确响应,或者建立的连接失败,因为连接的主机未能响应。”,以及“< em>没有这样的主机是已知的”使用虚拟机名称时。函数应用程序使用超时值为 10 分钟的 WebClient,并且错误很快抛出,因此这不是超时问题。

这可能与网络关系更大,但任何人都可以建议在虚拟机上检查其他内容或以其他方式使其正常工作吗?

最佳答案

首先,您需要确保您的函数应用在部署到 Azure 函数时可以在 Azure VM 上正常运行。您可以在 Azure VM 上本地部署您的函数来验证这一点。

然后,验证从 Azure 函数到 Azure VM 的连接。通过integrating Functions with an Azure virtual network ,您的函数应用程序已连接到 Internet 和虚拟网络。您可以引用该教程中的步骤。

之后,您可以使用Tcpping工具从Azure函数应用程序---控制台测试与主机和端口组合的TCP连接。如果 Tcpping 失败,则存在 TCP 连接问题,请阅读 this了解更多故障排除详细信息。

enter image description here

例如,我在云 shell 中运行以下 PowerShell 命令为 Azure VM 启用 IIS,然后 Azure VM 将接受端口 80 的 HTTP 请求。然后我使用 tcpping <vm's private IP address> :80验证从 Azure 函数到 Azure VM 的连接。

Set-AzVMExtension -ResourceGroupName "rgname" `
-ExtensionName "IIS" `
-VMName "vmname" `
-Location "EastUS" `
-Publisher Microsoft.Compute `
-ExtensionType CustomScriptExtension `
-TypeHandlerVersion 1.8 `
-SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'

关于azure - 无法从函数应用程序通过 http 连接到 Azure VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65971025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com