使用公共 URL 时无法访问 Azure 应用服务本地共享中的文件

问题描述 投票:0回答:1

我有一个 Azure 应用服务 (Linux),其中从 Azure 存储 Blob 容器安装了本地共享。我按照本页上的指南进行操作。当我尝试通过 http 访问本地共享中的文件时,收到 HTTP 错误 404。网址为 https://cid-linux-storage.azurewebsites.net/media/naa.jpg.

存储挂载具有以下属性;

Mounted storage properties

在 SSH 终端中,可以访问存储挂载。

SSH terminal

在 Kudu 中浏览网站时,安装座也可见。

Directory browsing in Kudu

Edited: App Service config

编辑:应用程序服务配置

blob 容器设置为匿名访问级别。

我使用 Windows 应用服务和文件共享应用了类似的方法,并且成功了。对于这个网站,我更愿意采用 Linux/Blob 容器方法。

我的 Linux 技能非常有限,也许有一个简单的解决方案可以解决我的问题。我将不胜感激任何帮助。

azure-web-app-service azure-blob-storage azure-linux
1个回答
0
投票

即使我无法直接从文件夹访问图像。我什至尝试过手动上传图像。

检查以下解决方法以从

wwwroot
目录中的子文件夹访问图像(或任何静态文件)。

  • 创建示例 .NET Core 8 Web 应用程序。

  • Program.cs
    中,默认情况下应用程序提供静态文件,您可以看到
    UseStaticFiles

  • 要访问子文件夹中的文件(在您的情况下为媒体),请修改以下代码。

app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
           Path.Combine(builder.Environment.ContentRootPath, "media")),
    RequestPath = "/media"
});
  • 将 Web 应用程序部署到已上传文件的同一 Azure Linux 应用服务。

  • 现在您可以直接访问文件了。

https://testapp29july.azurewebsites.net/media/foster-lake.jpg

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.