Azure 应用服务 SFTP 出站错误尝试以访问权限禁止的方式访问套接字

Posted

技术标签:

【中文标题】Azure 应用服务 SFTP 出站错误尝试以访问权限禁止的方式访问套接字【英文标题】:Azure App Service SFTP outbound error An attempt was made to access a socket in a way forbidden by its access permissions 【发布时间】:2021-12-01 04:48:05 【问题描述】:

我有一个 Azure 应用程序,它使用 SSH.NET 通过 SFTP(端口 22)将文件上传到另一台服务器。我确认在我的本地计算机上一切正常,但在部署到 Azure 应用服务并尝试从应用连接到 SFTP 服务器时,我收到此错误消息。

试图以访问权限禁止的方式访问套接字。

我确保 SFTP 服务器接受所有 Azure App Service 出站 IP 地址,并且我没有在 Azure App Service 上设置任何出站规则。

我认为这可能是我的服务计划问题,所以我将 App 服务计划从免费计划升级到 S1,但仍然没有运气。

我尝试使用 Kudu 连接到 SFTP 服务器,但它可以正常工作。

所以...这不是规则问题?我迷路了。

任何想法为什么 SFTP 连接无法从 Azure 应用服务工作?

【问题讨论】:

【参考方案1】:

在我的本地计算机上一切正常,但在部署到 Azure 应用服务后并尝试从应用连接到 SFTP 服务器时,我收到此错误消息。

确保在 appsettings、Azure Config 或 Keyvault(或存储连接字符串的任何位置)中定义了您的连接字符串。 确保连接字符串被称为 "AzureWebJobsStorage" 作为默认属性 (QueueTrigger)在配置中查找该特定键。 确保连接字符串实际指向允许您的 Web 作业访问的存储。

查看Azure App Services Application Settings and Connection Strings 和 Azure Files mounting 了解更多信息。

【讨论】:

AzureWebJobsStorage 与 SFTP 连接有什么关系? Web 作业本身运行良好并且记录良好。此错误发生在 SFTP 连接期间。另外,我正在处理内存中的所有文件。

以上是关于Azure 应用服务 SFTP 出站错误尝试以访问权限禁止的方式访问套接字的主要内容,如果未能解决你的问题,请参考以下文章

从 Azure VM 访问 Azure 存储,无需出站 Internet

将Azure SQL Server的访问权限限制为特定的azure Web应用程序

Azure 存储错误:“尝试以访问权限禁止的方式访问套接字。”

从 Azure Function App 访问带有防火墙的 Azure Blob 存储

Azure 逻辑应用程序 502 -“错误网关”错误

AWS ECS Fargate 任务的静态出站 IP