Files
docs/versioned_docs/version-2.20/developer-guide/plugin/api-reference/server/reverseproxy.md
Ryan Wang 9876911e3a docs: update documentation for Halo 2.20 (#429)
为 [Halo 2.20](https://github.com/halo-dev/halo/releases/tag/v2.20.0) 更新文档。

/kind documentation

```release-note
None
```
2024-10-14 03:33:15 +00:00

1.4 KiB

title, description
title description
静态资源代理 了解如何使用静态资源代理来访问插件中的静态资源

插件中的静态资源如图片等如果想被外部访问到,需要放到 src/main/resources 目录下,并通过创建 ReverseProxy 自定义模型对象来进行静态资源代理访问。

例如 src/main/resources 下的 static 目录下有一张 halo.jpg:

  1. 首先需要在 src/main/resources/extensions 下创建一个 yaml,文件名可以任意。
  2. 声明 ReverseProxy 对象如下:
apiVersion: plugin.halo.run/v1alpha1
kind: ReverseProxy
metadata:
  # 为了避免与其他插件冲突,推荐带上插件名称前缀
  name: my-plugin-fake-reverse-proxy
rules:
  - path: /res/**
    file:
      directory: static
      # 如果想代理 static 下所有静态资源则省略 filename 配置
      filename: halo.jpg

插件启动后会根据 /plugins/{plugin-name}/assets/** 规则生成访问路径, 因此该 ReverseProxy 的访问路径为: /plugins/my-plugin/assets/res/halo.jpg

  • rules 下可以添加多组规则。
  • path 为路径前缀。
  • file 表示访问文件系统,目前暂时仅支持这一种。
  • directory 表示要代理的目标文件目录,它相对于 src/main/resources/ 目录。
  • filename 表示要代理的目标文件名。

directoryfilename 都是可选的,但必须至少有一个被配置。