我目前正在部署一个简单的 Flask Web 应用程序,使用 nginx 作为我的 WSGI 和用户之间的反向代理。但是,我不想在我的 VPS 上存储静态文件(特别是图像),因为随着用户数量的增加,存储空间将开始变得昂贵。我已经能够使用 AWS S3 boto3 包将图像上传到存储桶,但我不完全确定如何配置 nginx Web 服务器(如下所示)来提供 S3 存储桶中的图像。
server {
listen 80;
server_name $IP_ADDR;
location /static {
alias /home/a_mankavil11/flaskBlog/flaskBlog/static;
}
location / {
proxy_pass http://localhost:8000;
include /etc/nginx/proxy_params;
proxy_redirect off;
}
}
请记住,我的服务器配置经验非常初级。
proxy_pass
方法是正确的,但请考虑您的 EC2 实例和 S3 存储桶之间的私有连接,因此内容只能通过 AWS VPC 网络中建立的隧道访问。不这样做会导致不好的结果:
有关如何实现这一目标的完整答案,您可以在我对类似问题的回答中找到:)