当前位置: 首页 > news >正文

nginx配置oss代理

工作中会有一些时候需要将图片,视频,音频等文件放到oss这种对象存储中进行存储,实现高性能的访问,这种情况叫做动静分离.这里只做了图片的配置,视频以及音频的配置是一样的.

以下是nginx.conf的配置信息,其中还有ssl的加密配置,以及后端服务器的代理模块配置,(这里不用的话可以忽略)

以下是nginx.conf的配置信息,

# 不指定运行Nginx的工作进程用户,默认使用安装时设定的用户
#user  nobody;
worker_processes  1; # 设置工作进程的数量为1

events {
    worker_connections  1024; # 每个工作进程允许的最大连接数为1024
}

http { # HTTP服务的相关配置
    include       mime.types; # 包含MIME类型定义文件
    default_type  application/octet-stream; # 默认的MIME类型

    sendfile        on; # 开启高效文件传输模式
    keepalive_timeout  65; # 客户端连接保持活动状态的超时时间设置为65秒

    upstream httpds { # 定义一个名为httpds的上游服务器组
        server 192.168.59.31:8080 weight=6; # 第一台后端服务器,权重为6
        server 192.168.59.31:8081 weight=2; # 第二台后端服务器,权重为2
        server 192.168.59.31:8082 weight=2; # 第三台后端服务器,权重为2
    }

    server { # 配置一个虚拟主机
        listen       80; # 监听80端口
        #server_name  localhost; # 注释掉了默认的服务器名
        server_name  www.mfzz.xyz; # 设置服务器名为www.mfzz.xyz
        return 301 https://$host$request_uri; # 将所有HTTP请求重定向到HTTPS

        error_page   500 502 503 504  /50x.html; # 自定义错误页面位置
        location = /50x.html { # 当出现500、502、503或504错误时显示此页面
            root   html; # 错误页面位于html目录下
        }
    }

    server { # HTTPS服务配置
        listen 443 ssl; # 监听443端口,并启用SSL
        server_name www.mfzz.xyz; # 设置服务器名为www.mfzz.xyz

        ssl_certificate /etc/ssl/nginx_certs/mfzz.xyz.pem; # SSL证书路径
        ssl_certificate_key /etc/ssl/nginx_certs/mfzz.xyz.key; # SSL证书密钥路径

        # SSL安全配置
        ssl_protocols TLSv1.2 TLSv1.3; # 使用的协议版本
        ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; # 加密套件
        ssl_prefer_server_ciphers on; # 优先使用服务器指定的加密套件

        # 图片文件处理 (OSS)
        location ~* \.(jpg|jpeg|png|gif|webp)$ { # 对图片文件进行匹配(不区分大小写)
            proxy_pass https://oss-cn-beijing.aliyuncs.com; # OSS访问地址,请替换为你的实际OSS地址(就是endpoint地址)
            proxy_set_header Host images.oss-cn-beijing.aliyuncs.com; # 设置请求头中的Host字段为目标OSS域名
            proxy_set_header X-Real-IP $remote_addr; # 设置真实的客户端IP地址
            proxy_hide_header x-oss-request-id; # 隐藏特定响应头
            proxy_hide_header x-oss-object-type; # 隐藏特定响应头
            expires 30d; # 设置缓存过期时间为30天
            add_header Cache-Control "public"; # 添加Cache-Control头部,指示资源可以被公共缓存
        }

        location / { # 处理所有其他请求
            proxy_pass http://httpds; # 反向代理至httpds上游服务器组
            proxy_set_header Host $host; # 设置请求头中的Host字段
            proxy_set_header X-Real-IP $remote_addr; # 设置真实的客户端IP地址
            proxy_set_header X-Forwarded-Proto https; # 设置转发协议为https
        }
    }
}

上面的就是nginx配置文件中的动静分离场景,

使用自己的域名来验证下是否可以获取到oss中这张图片.

首先在oss上创建一个bucket桶,用于存放文件(这个自己创建即可,)
然后进入bucket中添加目录,并上传文件,到该目录中,

首先查看该图片的URL地址.

其中后端的/test/google/images/是刚刚创建的目录路径,1.png是图片名称.

 使用自己的域名访问一下,这张图片的地址,如果配置正常的话那么这张图片会通过浏览器下载到本地,

文件下载成功.nginx配置成功.

相关文章:

  • [环境配置] 2. 依赖库安装
  • Linux-CentOS-7—— 配置yum源(网络yum源 + 本地yum源)
  • RabbitMQ安装与使用教程(含Spring Boot整合)
  • HTTP Form v.s. Flask-WTF Form v.s. Bootstrap Form
  • Ollama
  • 项目实战--路由权限
  • OpenCV 图形API(20)用于执行标量与矩阵之间的逐元素减法操作函数subRC()
  • Dify的基本功能介绍与界面初识
  • 当实体类中的属性名和表中的字段名不一样 ,怎么办
  • Comfyui 一键下载模型(多线程)
  • COMSOL固体力学接触
  • LLM面试题七
  • 2024年RAG大赛
  • Async 注解原理分析
  • ARK no NIGHTS
  • 25、Python 文件操作与JSON处理:从基础到实战
  • ArkTS语言入门细节之联合类型
  • 数据仓库的核心架构与关键技术(数据仓库系列二)
  • Minio文件系统
  • 生鲜果蔬便利店实体零售门店商城小程序
  • 吴江网站建设收费/万网官网登录
  • 番禺做网站技术/花西子网络营销案例分析
  • 做外贸的网站都有哪些/网站收录查询代码
  • 深圳市工商网上办事大厅/南通百度seo代理
  • asp网站建设实录源码/windows7系统优化工具
  • 东营做网站优化的公司/武汉大学人民医院官网