# aliyun-sdk-oss-proxy **Repository Path**: ylcplus/aliyun-sdk-oss-proxy ## Basic Information - **Project Name**: aliyun-sdk-oss-proxy - **Description**: 实现对oss操作代理 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-20 - **Last Updated**: 2026-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Aliyun OSS SDK for Java (已修改 - 支持代理中转) 基于阿里云 OSS SDK V1(aliyun-sdk-oss 3.18.5)修改,新增 **请求代理中转** 功能,支持将所有 OSS 请求通过中转服务转发。 ## 修改说明 **场景**:应用部署在内网,无法直接访问 OSS 公网 endpoint。需要将所有 OSS 请求先发送到内部 proxy-api 中转服务,由 proxy-api 转发到 OSS。 **改动**: - 新增 `ossProxyEndpoint` 配置项(`ClientConfiguration`) - OSS 请求自动重定向到 proxy endpoint,原始 OSS URL 通过 `X-Proxy-Target` 请求头发送 - 支持代码配置、系统属性、环境变量三种方式 ## 请求转发原理 ``` 你的应用 → OSS SDK(已修改) → HTTP 请求到 proxy-api:9092/proxy(请求头含 X-Proxy-Target: 真实OSS地址) → proxy-api 转发到 OSS 真实服务 → 响应原路返回 ``` ## 使用方式 ### Maven 依赖 ```xml com.eleadmin aliyun-sdk-oss-proxy 1.0.0 ``` ### 配置代理中转 **方式一:Builder 链式调用(推荐)** ```java OSS ossClient = OSSClientBuilder.create() .endpoint("https://oss-cn-hangzhou.aliyuncs.com") .credentialsProvider(provider) .ossProxyEndpoint("http://proxy-api:9092/proxy") .build(); ``` **方式二:ClientConfiguration 设置** ```java ClientConfiguration config = new ClientConfiguration(); config.setOssProxyEndpoint("http://proxy-api:9092/proxy"); OSS ossClient = new OSSClientBuilder() .build("https://oss-cn-hangzhou.aliyuncs.com", accessKeyId, secretAccessKey, config); ``` **方式三:系统属性** ```bash java -Doss.proxy.endpoint=http://proxy-api:9092/proxy -jar your-app.jar ``` **方式四:环境变量** ```bash export OSS_PROXY_ENDPOINT=http://proxy-api:9092/proxy ``` ### 不配置代理(走直连) 不设置 `ossProxyEndpoint` 即可,行为与官方 SDK 完全一致。 ## 构建与打包 ```bash # 编译 + 打包(默认打 fat jar,包含所有依赖) mvn clean package -DskipTests -Dgpg.skip=true -Dmaven.javadoc.skip=true # 输出: # target/aliyun-sdk-oss-proxy-1.0.0.jar (fat jar,~14MB,可直接使用) # target/aliyun-sdk-oss-proxy-1.0.0-sources.jar (源码包) ``` 如果只想打瘦包(不包含依赖),移除 `pom.xml` 中的 `maven-assembly-plugin` 即可。 ## 在其他项目中使用 ### 方式一:安装到本地 Maven 仓库(推荐) ```bash mvn install:install-file \ -Dfile=aliyun-sdk-oss-proxy-1.0.0.jar \ -DgroupId=com.eleadmin \ -DartifactId=aliyun-sdk-oss-proxy \ -Dversion=1.0.0 \ -Dpackaging=jar ``` 然后在目标项目的 `pom.xml` 中添加依赖: ```xml com.eleadmin aliyun-sdk-oss-proxy 1.0.0 ``` ### 方式二:直接引入 jar 文件 将 `aliyun-sdk-oss-proxy-1.0.0.jar` 放到项目 `lib/` 目录,在 `pom.xml` 中引入: ```xml com.eleadmin aliyun-sdk-oss-proxy 1.0.0 system ${project.basedir}/lib/aliyun-sdk-oss-proxy-1.0.0.jar ``` > 注意:fat jar 已包含所有依赖,无需额外添加。瘦包则需要自行添加 httpclient、jdom、jettison 等依赖(详见 `pom.xml`)。 ## 环境要求 - Java 1.8+ - Maven