68 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>准备工作 | 哪吒监控</title>
<meta name="description" content="哪吒监控是一个轻量化的运维工具">
<link rel="stylesheet" href="/assets/style.0b9f658b.css">
<link rel="modulepreload" href="/assets/chunks/AlgoliaSearchBox.98396bc7.js">
<link rel="modulepreload" href="/assets/app.3817bf4e.js">
<link rel="modulepreload" href="/assets/guide_q1.md.1fe0cdc7.lean.js">
<meta name="twitter:title" content="准备工作 | 哪吒监控">
<meta property="og:title" content="准备工作 | 哪吒监控">
</head>
<body>
<div id="app"><!--[--><div class="theme"><header class="nav-bar" data-v-675d8756><div class="sidebar-button" data-v-675d8756><svg class="icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z" class></path></svg></div><a class="nav-bar-title" href="/" aria-label="哪吒监控, back to home" data-v-675d8756 data-v-cc01ef16><!----> 哪吒监控</a><div class="flex-grow" data-v-675d8756></div><div class="nav" data-v-675d8756><nav class="nav-links" data-v-675d8756 data-v-eab3edfe><!--[--><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item active" href="/" data-v-b8818f8c>使用指南 <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/case/index" data-v-b8818f8c>社区项目 <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/developer/index" data-v-b8818f8c>开发手册 <!----></a></div></div><!--]--><div class="item" data-v-eab3edfe><div class="nav-dropdown-link" data-v-eab3edfe data-v-56bf3a3f><button class="button" data-v-56bf3a3f><span class="button-text" data-v-56bf3a3f>Languages</span><span class="right button-arrow" data-v-56bf3a3f></span></button><ul class="dialog" data-v-56bf3a3f><!--[--><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item active" href="/guide/q1.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>简体中文</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item" href="/en_US/guide/q1.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>English</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><!--]--></ul></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://github.com/nezhahq/nezhahq.github.io" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>GitHub <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div></nav></div><!--[--><!--[--><div class="algolia-search-box" id="docsearch"></div><!--]--><!--]--></header><aside class="sidebar" data-v-83e92a68><nav class="nav-links nav" data-v-83e92a68 data-v-eab3edfe><!--[--><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item active" href="/" data-v-b8818f8c>使用指南 <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/case/index" data-v-b8818f8c>社区项目 <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/developer/index" data-v-b8818f8c>开发手册 <!----></a></div></div><!--]--><div class="item" data-v-eab3edfe><div class="nav-dropdown-link" data-v-eab3edfe data-v-56bf3a3f><button class="button" data-v-56bf3a3f><span class="button-text" data-v-56bf3a3f>Languages</span><span class="right button-arrow" data-v-56bf3a3f></span></button><ul class="dialog" data-v-56bf3a3f><!--[--><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item active" href="/guide/q1.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>简体中文</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item" href="/en_US/guide/q1.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>English</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><!--]--></ul></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://github.com/nezhahq/nezhahq.github.io" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>GitHub <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div></nav><!--[--><!--]--><ul class="sidebar-links" data-v-83e92a68><!--[--><li class="sidebar-link"><p class="sidebar-link-item">安装手册</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/dashboard">安装 Dashboard</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/agent">安装 Agent</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">管理面板配置</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/servers">主机</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/services">服务</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/tasks">定时任务</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/notifications">报警通知</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/settings">设置</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/api">API</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">常见问题</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item active" href="/guide/q1">TG api 被墙</a><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="#准备工作">准备工作</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="#nginx-配置">NGINX 配置</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="#使用方式">使用方式</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="#防止盗用">防止盗用</a><!----></li></ul></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q2">Agent 无法启动/上线 查看日志并进行排错的步骤</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q3">反向代理 gRPC 端口的步骤</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q4">实时通道断开/在线终端连接失败</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q5">进行数据迁移、备份和恢复的步骤</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q6">设置每月重置流量统计的步骤</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q7">自定义 Agent 监控项目的步骤</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">排障指南</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/dashboardq">Dashboard 相关</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/agentq">Agent 相关</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/loginq">登录相关</a><!----></li></ul></li><!--]--></ul><!--[--><!--]--></aside><div class="sidebar-mask"></div><main class="page" data-v-7eddb2c4><div class="container" data-v-7eddb2c4><!--[--><!--]--><div style="position:relative;" class="content" data-v-7eddb2c4><div><h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-hidden="true">#</a></h2><p><strong>你可以选择 CloudFlare 的 workers 进行反代,但大陆的网络你懂的,这里介绍用你自己服务器反代方式</strong><br> 搭建一个 TGbot api 反代,你需要:<br> 1.一个不受 GFW 封锁的服务器(且安装好 Nginx)<br> 2.一个域名(提前申请 SSL 证书) <br></p><h2 id="nginx-配置" tabindex="-1">NGINX 配置 <a class="header-anchor" href="#nginx-配置" aria-hidden="true">#</a></h2><p>编辑你 Nginx 的配置文件,在 http{} 中加上如下配置</p><div class="language-nginx"><pre><code><span class="token comment"># http强制跳转到htpps</span>
<span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
<span class="token directive"><span class="token keyword">listen</span> <span class="token number">80</span></span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">listen</span> [::]:80</span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">server_name</span> yourDomainName</span><span class="token punctuation">;</span>
<span class="token comment"># Enforce HTTPS</span>
<span class="token directive"><span class="token keyword">return</span> <span class="token number">301</span> https://<span class="token variable">$server_name</span><span class="token variable">$request_uri</span></span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">## https</span>
<span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
<span class="token directive"><span class="token keyword">listen</span> <span class="token number">443</span> ssl</span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">listen</span> [::]:443 ssl</span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">server_name</span> yourDomainName</span><span class="token punctuation">;</span>
<span class="token comment">## ssl密钥路径自己改改</span>
<span class="token directive"><span class="token keyword">ssl_certificate</span> server.pem</span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">ssl_certificate_key</span> server.key</span><span class="token punctuation">;</span>
<span class="token comment">## root非必要</span>
<span class="token directive"><span class="token keyword">root</span> /var/www/tgbot/</span><span class="token punctuation">;</span>
<span class="token comment">## dns必须写不然会报502错误</span>
<span class="token directive"><span class="token keyword">resolver</span> 8.8.8.8</span><span class="token punctuation">;</span>
<span class="token comment">## 以bot开头的请求都会被正则匹配到</span>
<span class="token directive"><span class="token keyword">location</span> ~* ^/bot</span> <span class="token punctuation">{</span>
<span class="token directive"><span class="token keyword">proxy_buffering</span> <span class="token boolean">off</span></span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_pass</span> https://api.telegram.org<span class="token variable">$request_uri</span></span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_http_version</span> 1.1</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">## 和上面root一样非必要这个主要是用来确认服务器状态的。也可以改成return 403</span>
<span class="token directive"><span class="token keyword">location</span> /</span><span class="token punctuation">{</span>
<span class="token directive"><span class="token keyword">try_files</span> /<span class="token variable">$uri</span> <span class="token variable">$uri</span> /index.html</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">## no log no fix</span>
<span class="token directive"><span class="token keyword">error_log</span> /var/log/tg.log error</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre></div><p><code>yourDomainName</code> - 你准备的域名<br><code>ssl_certificate</code> - SSL 证书路径<br><code>ssl_certificate_key</code> - SSL 证书路径<br><br></p><h2 id="使用方式" tabindex="-1">使用方式 <a class="header-anchor" href="#使用方式" aria-hidden="true">#</a></h2><p>🎉然后执行 <code>systemctl restart nginx</code> 回到 Nezha 将原来的https://api.telegram.org/ 替换为 <a href="https://yourDomainName/" target="_blank" rel="noopener noreferrer">https://yourDomainName/</a> ,即可正常推送消息 <br></p><h2 id="防止盗用" tabindex="-1">防止盗用 <a class="header-anchor" href="#防止盗用" aria-hidden="true">#</a></h2><p><code>serverIp</code> - Agent 的 ip 地址,你系统安装的哪个就用哪个命令,ufw iptables 都可.</p><div class="language-bash"><pre><code><span class="token comment">#ubuntu</span>
ufw allow proto tcp from serverIp to any port <span class="token number">443</span>
<span class="token comment">#centos</span>
iptables -I INPUT -p tcp --dport <span class="token number">443</span> -j DROP
iptables -I INPUT -s serverIp -p tcp --dport <span class="token number">443</span> -j ACCEPT
</code></pre></div></div></div><footer class="page-footer" data-v-7eddb2c4 data-v-07c132fc><div class="edit" data-v-07c132fc><div class="edit-link" data-v-07c132fc data-v-1ed99556><a class="link" href="https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/guide/q1.md" target="_blank" rel="noopener noreferrer" data-v-1ed99556>在GitHub中编辑 <svg class="icon outbound icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-1ed99556><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><div class="updated" data-v-07c132fc><p class="last-updated" data-v-07c132fc data-v-abce3432><span class="prefix" data-v-abce3432>上次更新:</span><span class="datetime" data-v-abce3432></span></p></div></footer><div class="next-and-prev-link" data-v-7eddb2c4 data-v-38ede35f><div class="container" data-v-38ede35f><div class="prev" data-v-38ede35f><a class="link" href="/guide/api" data-v-38ede35f><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="icon icon-prev" data-v-38ede35f><path d="M19,11H7.4l5.3-5.3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-7,7c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.2-0.1,0.5,0,0.8c0.1,0.1,0.1,0.2,0.2,0.3l7,7c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L7.4,13H19c0.6,0,1-0.4,1-1S19.6,11,19,11z"></path></svg><span class="text" data-v-38ede35f>API</span></a></div><div class="next" data-v-38ede35f><a class="link" href="/guide/q2" data-v-38ede35f><span class="text" data-v-38ede35f>Agent 无法启动/上线 查看日志并进行排错的步骤</span><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="icon icon-next" data-v-38ede35f><path d="M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"></path></svg></a></div></div></div><!--[--><!--]--></div></main></div><!----><!--]--></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"case_case1.md\":\"199f944f\",\"case_case2.md\":\"216f0ae3\",\"case_case3.md\":\"65b6f8e7\",\"case_case4.md\":\"057b1fc0\",\"case_index.md\":\"f4837590\",\"developer_index.md\":\"4933c0c5\",\"developer_l10n.md\":\"e795d133\",\"developer_theme.md\":\"51aaddc6\",\"en_us_case_case1.md\":\"47eb9b94\",\"en_us_case_case2.md\":\"ae558f56\",\"en_us_case_case3.md\":\"b45ed8d3\",\"en_us_case_case4.md\":\"81ef69ce\",\"en_us_case_index.md\":\"7a64a4bf\",\"en_us_developer_index.md\":\"90f95702\",\"en_us_developer_l10n.md\":\"318ae7a9\",\"en_us_developer_theme.md\":\"1c69eee9\",\"en_us_guide_agent.md\":\"7cfd486a\",\"en_us_guide_agentq.md\":\"700db820\",\"en_us_guide_api.md\":\"02a0ffbf\",\"en_us_guide_dashboard.md\":\"09eb0d24\",\"en_us_guide_dashboardq.md\":\"ff522059\",\"en_us_guide_loginq.md\":\"dbb9e7d6\",\"en_us_guide_notifications.md\":\"e63b1fa0\",\"en_us_guide_q2.md\":\"816d77cd\",\"en_us_guide_q3.md\":\"e4065d2a\",\"en_us_guide_q4.md\":\"83ed8430\",\"en_us_guide_q5.md\":\"809a668f\",\"en_us_guide_q6.md\":\"06901512\",\"en_us_guide_q7.md\":\"3a3ecc2c\",\"en_us_guide_servers.md\":\"91698ca9\",\"en_us_guide_services.md\":\"9146fdee\",\"en_us_guide_settings.md\":\"54888083\",\"en_us_guide_tasks.md\":\"df9a3b24\",\"en_us_index.md\":\"55ebc7f2\",\"guide_agent.md\":\"4007e3a3\",\"guide_agentq.md\":\"3d19759a\",\"guide_api.md\":\"82a1ace5\",\"guide_dashboard.md\":\"a2e1c9da\",\"guide_dashboardq.md\":\"df657586\",\"guide_loginq.md\":\"d229ec31\",\"guide_notifications.md\":\"9a5b8663\",\"guide_q1.md\":\"1fe0cdc7\",\"guide_q2.md\":\"b2dbea48\",\"guide_q3.md\":\"5b42517f\",\"guide_q4.md\":\"306b9b9e\",\"guide_q5.md\":\"505e3bab\",\"guide_q6.md\":\"8b300242\",\"guide_q7.md\":\"9628abfa\",\"guide_servers.md\":\"3badefad\",\"guide_services.md\":\"f3fb5f93\",\"guide_settings.md\":\"521b0eef\",\"guide_tasks.md\":\"9c5a85cc\",\"index.md\":\"1737ea60\"}")</script>
<script type="module" async src="/assets/app.3817bf4e.js"></script>
</body>
</html>