Skip to content

Commit

Permalink
docs: update documentation for resolve CORS and CSP errors (#17)
Browse files Browse the repository at this point in the history
更新解决 CORS 和 CSP 异常的文档。

```release-note
None
```
  • Loading branch information
VOfficial404 authored Nov 26, 2023
1 parent 7ccc9c5 commit 30e5b2b
Showing 1 changed file with 38 additions and 24 deletions.
62 changes: 38 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# plugin-umami

Halo 2.0 对 [Umami](https://github.com/umami-software/umami) 的集成。(WIP)
Halo 2.0 对 [Umami](https://github.com/umami-software/umami) 的集成。

![Umami](./screenshots//umami.png)

Expand All @@ -17,30 +17,44 @@ Halo 2.0 对 [Umami](https://github.com/umami-software/umami) 的集成。(WIP)

1.[Releases](https://github.com/halo-sigs/plugin-umami/releases) 下载最新的 JAR 文件。
2. 在 Halo 后台的插件管理上传 JAR 文件进行安装。
3. 启动该插件之后,需要在设置配置 Umami 的相关信息。
3. 启动该插件之后,需要在设置配置 Umami 的相关信息
4. 进入插件设置页面,配置以下信息:

- Umami 的站点地址:Umami 服务的外部访问地址
- 脚本名称:根据实际情况添加,Umami 1.x 默认为 umami.js,Umami 2.x 默认为 script.js
- 站点 ID:可在 Umami 的设置 -> 网站 -> 编辑中找到
- 共享链接:共享链接需要您手动为对应的网站开启,设置之后可以在 Halo 后台的 Umami 菜单进行访问。

## FAQ

1. Umami 使用 Nginx 反代时,可能导致 CORS 和 CSP 错误,需要在 Umami 反代的配置文件中加入如下配置(请替换域名)。
```
server{
listen 443 ssl http2;
server_name [umami.domain.com];
#...
add_header Access-Control-Allow-Origin 'https://halo.domain.com';
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
add_header Content-Security-Policy 'frame-ancestors halo.domain.com';
location / {
#...
proxy_hide_header 'Access-Control-Allow-Origin';
proxy_hide_header 'Content-Security-Policy';
}
}
```
1. 在 Console 无法加载 Umami 的页面,出现了 CORS 和 CSP 的错误。

1. 方式 1:在 Umami 反代的配置文件中加入如下配置(请替换域名):

```
server{
listen 443 ssl http2;
server_name [umami.domain.com];
#...
add_header Access-Control-Allow-Origin 'https://halo.domain.com';
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
add_header Content-Security-Policy 'frame-ancestors halo.domain.com';
location / {
#...
proxy_hide_header 'Access-Control-Allow-Origin';
proxy_hide_header 'Content-Security-Policy';
}
}
```
3. 方式 2:为 Umami 的容器添加环境变量 `ALLOWED_FRAME_URLS`,值为 Halo 的访问地址,例:

```
ALLOWED_FRAME_URLS=https://www.halo.run
```
> 此方式适用于 Umami 2.3.0 以上版本。

0 comments on commit 30e5b2b

Please sign in to comment.