在 LightSail Ubuntu 上运行的 Asp.net 核心 2.0 站点无法访问 AWS S3



我有一个用 Asp.net 核心2.0构建的网站。该网站获取我的 ASW S3 存储桶中的文件列表,并将其显示为经过身份验证的用户的链接。当我在本地运行网站时,我没有任何问题,并且能够访问 S3 以生成预签名的 URL。当我将 Web 应用程序部署到 LightSail ubuntu 时,我收到此非常有用的错误消息:AmazonS3Exception:访问被拒绝。

起初我以为是一个地区问题。我更改了 S3 存储桶以使用与 Lightsail ubuntu 实例(东部 #2)相同的区域。然后我认为这是我的 CORS 问题,并确保我的存储桶允许 CORS。

我现在有点卡住了。

我遇到了完全相同的问题,然后我通过创建一个环境变量解决了它。要在 Ubuntu 中永久添加环境变量,请通过以下命令打开环境文件

sudo vi /etc/environment

然后像这样添加您的凭据

AWS_ACCESS_KEY_ID=YOUR_KEY_ID
AWS_SECRET_ACCESS_KEY=YOUR_SECRECT_ACCESS_KEY

然后保存环境文件,并重新启动 asp 核心应用。

最新更新