import{_ as s,o as a,c as n,R as l}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md","filePath":"guide/q3.md","lastUpdated":1687756292000}'),p={name:"guide/q3.md"},e=l(`
使用 Nginx 或者 Caddy 反向代理 gRPC
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name data.example.com; # 你的 Agent 连接 Dashboard 的域名
ssl_certificate /data/letsencrypt/fullchain.pem; # 你的域名证书路径
ssl_certificate_key /data/letsencrypt/key.pem; # 你的域名私钥路径
underscores_in_headers on;
location / {
grpc_read_timeout 300s;
grpc_send_timeout 300s;
grpc_socket_keepalive on;
grpc_pass grpc://grpcservers;
}
}
upstream grpcservers {
server localhost:5555;
keepalive 1024;
}
data.example.com:443 { # 你的 Agent 连接 Dashboard 的域名
reverse_proxy {
to localhost:5555
transport http {
versions h2c 2
}
}
}
Dashboard 面板端配置
未接入CDN的面板服务器域名/IP
中填入上一步在 Nginx 或 Caddy 中配置的域名 比如 data.example.com
,并保存。proxygrpcport
修改为 Nginx 或 Caddy 监听的端口,比如上一步设置的 443
;因为我们在 Nginx 或 Caddy 中开启了 SSL/TLS,所以需要将 tls
设置为 true
;修改完成后重启面板。Agent 端配置
开启 Cloudflare CDN(可选)
根据 Cloudflare gRPC 的要求:gRPC 服务必须侦听 443 端口 且必须支持 TLS 和 HTTP/2。 所以如果需要开启 CDN,必须在配置 Nginx 或者 Caddy 反向代理 gRPC 时使用 443 端口,并配置证书(Caddy 会自动申请并配置证书)。
网络
选项将 gRPC
开关打开,打开 DNS
选项,找到 Nginx 或 Caddy 反代 gRPC 配置的域名的解析记录,打开橙色云启用 CDN。