import{_ as n,c as s,o as a,a as e}from"./app.3817bf4e.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md","lastUpdated":1682076617000}',t={},p=e(`
\u4F7F\u7528 Nginx \u6216\u8005 Caddy \u53CD\u5411\u4EE3\u7406 gRPC
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name data.example.com; # \u4F60\u7684 Agent \u8FDE\u63A5 Dashboard \u7684\u57DF\u540D
ssl_certificate /data/letsencrypt/fullchain.pem; # \u4F60\u7684\u57DF\u540D\u8BC1\u4E66\u8DEF\u5F84
ssl_certificate_key /data/letsencrypt/key.pem; # \u4F60\u7684\u57DF\u540D\u79C1\u94A5\u8DEF\u5F84
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 { # \u4F60\u7684 Agent \u8FDE\u63A5 Dashboard \u7684\u57DF\u540D
reverse_proxy {
to localhost:5555
transport http {
versions h2c 2
}
}
}
Dashboard \u9762\u677F\u7AEF\u914D\u7F6E
\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP
\u4E2D\u586B\u5165\u4E0A\u4E00\u6B65\u5728 Nginx \u6216 Caddy \u4E2D\u914D\u7F6E\u7684\u57DF\u540D \u6BD4\u5982 data.example.com
\uFF0C\u5E76\u4FDD\u5B58\u3002proxygrpcport
\u4FEE\u6539\u4E3A Nginx \u6216 Caddy \u76D1\u542C\u7684\u7AEF\u53E3\uFF0C\u6BD4\u5982\u4E0A\u4E00\u6B65\u8BBE\u7F6E\u7684 443
\uFF1B\u56E0\u4E3A\u6211\u4EEC\u5728 Nginx \u6216 Caddy \u4E2D\u5F00\u542F\u4E86 SSL/TLS\uFF0C\u6240\u4EE5\u9700\u8981\u5C06 tls
\u8BBE\u7F6E\u4E3A true
\uFF1B\u4FEE\u6539\u5B8C\u6210\u540E\u91CD\u542F\u9762\u677F\u3002Agent \u7AEF\u914D\u7F6E
\u5F00\u542F Cloudflare CDN\uFF08\u53EF\u9009\uFF09
\u6839\u636E Cloudflare gRPC \u7684\u8981\u6C42\uFF1AgRPC \u670D\u52A1\u5FC5\u987B\u4FA6\u542C 443 \u7AEF\u53E3 \u4E14\u5FC5\u987B\u652F\u6301 TLS \u548C HTTP/2\u3002 \u6240\u4EE5\u5982\u679C\u9700\u8981\u5F00\u542F CDN\uFF0C\u5FC5\u987B\u5728\u914D\u7F6E Nginx \u6216\u8005 Caddy \u53CD\u5411\u4EE3\u7406 gRPC \u65F6\u4F7F\u7528 443 \u7AEF\u53E3\uFF0C\u5E76\u914D\u7F6E\u8BC1\u4E66\uFF08Caddy \u4F1A\u81EA\u52A8\u7533\u8BF7\u5E76\u914D\u7F6E\u8BC1\u4E66\uFF09\u3002
\u7F51\u7EDC
\u9009\u9879\u5C06 gRPC
\u5F00\u5173\u6253\u5F00\uFF0C\u6253\u5F00 DNS
\u9009\u9879\uFF0C\u627E\u5230 Nginx \u6216 Caddy \u53CD\u4EE3 gRPC \u914D\u7F6E\u7684\u57DF\u540D\u7684\u89E3\u6790\u8BB0\u5F55\uFF0C\u6253\u5F00\u6A59\u8272\u4E91\u542F\u7528 CDN\u3002