增加 nginx 反代 grpc 开启 Cloudflare CDN 的说明

This commit is contained in:
Lemoe 2021-11-06 12:57:26 +08:00
parent 08f65288d6
commit b8aad51227
No known key found for this signature in database
GPG Key ID: 2570C7D85A4A74CA

View File

@ -48,6 +48,7 @@ _\* 使用 WatchTower 可以自动更新面板Windows 终端可以使用 nssm
- `--disable-auto-update` 禁止 **自动更新** Agent安全特性
- `--disable-force-update` 禁止 **强制更新** Agent安全特性
- `--disable-command-execute` 禁止在 Agent 机器上执行定时任务、打开在线终端(安全特性)
- `--tls` 启用SSL/TLS加密使用 nginx 反向代理 Agent 的 grpc 连接,并且 nginx 开启 SSL/TLS 时,需要启用该项配置)
## 功能说明
@ -320,6 +321,34 @@ restart() {
</details>
<details>
<summary>Agent 连接 Dashboard 域名开启 Cloudflare CDN</summary>
根据 Cloudflare gRPC 的要求gRPC 服务必须侦听 443 端口 且必须支持 TLS 和 HTTP/2。我们可以使用 nginx 反向代理 gRPC 并配置 SSL/TLS 证书。
- nginx 配置,比如 Agent 连接 Dashboard 的域名为 ip-to-dashboard.nai.ba为 nginx 添加如下配置,然后重新启动 nginx 或者重新加载配置文件。
```nginx
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name ip-to-dashboard.nai.ba; # 你的 Agent 连接 Dashboard 的域名
ssl_certificate /data/letsencrypt/fullchain.pem; # 你的域名证书路径
ssl_certificate_key /data/letsencrypt/key.pem; # 你的域名私钥路径
underscores_in_headers on;
location / {
grpc_pass grpc://localhost:5555;
}
}
```
- Agent 端配置,编辑 `/etc/systemd/system/nezha-agent.service`,在 `ExecStart=` 这一行的末尾加上 `--tls`,然后重启 nezha-agent.service。例如
```bash
ExecStart=/opt/nezha/agent/nezha-agent -s ip-to-dashboard.nai.ba:443 -p xxxxxx --tls
```
- 在 Cloudflare 中将对应的域名解析设置橙色云开启CDN并在网络选项中启用gRPC。
<details>
## 社区文章
- [哪吒探针 - Windows 客户端安装](https://nyko.me/2020/12/13/nezha-windows-client.html)