哪吒探针的安装与配置-双域名使用Cloudflare CDN隐藏IP

哪吒探针是一款开源、轻量、易用的服务器监控、运维工具,可以方便的监控vps的运行状态,也可以快速设置vps进行定时任务,对vps的异常状态进行告警等。

哪吒探针使用时需要用到三个域名:部署面板网站的根域名(例如*.example.com),访问面板网站的面板根域名(例如dashbd.example.com)以及小鸡与面板通讯的通讯域名(例如commu.example.com),其中通讯域名默认不可套cdn,因而存在暴露背后ip的风险。结合哪吒监控wiki以及多篇网友文章参考,利用Cloudflare(CF)的grcp支持,成功将两个域名都套上了cdn,这里大概介绍一下方法。

1.Cloudflare中的设置

1.1 配置域名解析:在CF账户中建立面板域名和通讯域名的解析记录,把橙色云朵打开,让CDN生效。

1.2 申请Cloudflare源服务器证书:

免费的Let’s Encrypt、BuyPass、ZeroSSL证书期限太短,最多一年。CF提供的15年免费证书支持泛域名,是本地证书且不用续期。因为后面设置的反代在证书自动续期时容易出bug导致续期失败,所以就用这个免费的证书啦。

在cf的网页中,选择面板根域名, 选择” SSL/TLS” , 选择 “概述” , 右边选择 “完全” 或者 “完全(严格)” 都可以。

选择 “边缘证书” ,将 “始终使用 HTTPS”, “HTTP 严格传输安全 (HSTS), “随机加密”, “自动 HTTPS 重写” 的开关全部关闭。

再选择 “源服务器”, 点击 “创建证书” , 其它的默认, 证书有效期选择15年, 下方创建即可。

注意保存”源证书(Origin Certificate)” 框和 “私钥(Private Key)” 框里的全部内容,存到txt文件里备用。

1.3 开启grpc

选择面板根域名。打开 “网络” 选项将 gRPC 的开关打开。(务必检查,第一次配置的时候忘打开了,卡了很久)

2.配置nginx解析相关网站

这一步我直接用aapanel(国际版宝塔面板)搞了。

aapanel中安好nginx后,主页选择Website,分别添加上dashbd.example.com和commu.example.com两个网站。

先对dashbd.example.com做配置,点击列表后的conf,在SSL里选择Other Certificate,依次填入前述的Private key和Certificate后保存。

接下来选择Reverse Proxy,接着Add Reverse Proxy添加反代,Target URL中填http://127.0.0.1,Submit后,在建好的条目中选Conf,输入如下内容:

#PROXY-START/
location / {
    proxy_pass http://127.0.0.1:8008; #探针的面板端口
    proxy_set_header Host $http_host;
    proxy_set_header      Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$  {
    proxy_pass http://127.0.0.1:8008;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $http_host;
}
#PROXY-END/

再对commu.example.com做配置,SSL里的证书检查一下是否已经设置,没有的话填入与上个网站相同的key和certificate。

然后在Config里配置grpc的反代:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name commu.example.com; # 你的 Agent 连接 Dashboard 的域名

    ssl_certificate  /www/server/panel/vhost/cert/commu.example.com/fullchain.pem; # 域名证书路径(给出的是宝塔默认位置)
    ssl_certificate_key  /www/server/panel/vhost/cert/commu.example.com/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;
}

3.部署哪吒探针面板

按照哪吒监控官方wiki部署即可,大部分过程都一样,只是需要对配置文件进行修改:

挂载面板端(Dashboard)的是服务器,而我们的其他vps(小鸡)则是Agent。

首先通过github/Jihulab等获取OAuth的Client ID和密钥。

然后在服务器安装面板端,按需配置即可。

重点

修改探针的配置文件

vim /opt/nezha/dashboard/data/config.yaml

修改这几项

GRPCHost: demo.com
ProxyGRPCPort: 443
TLS: true

之后启动哪吒脚本 ./nezha.sh,选择5,重启哪吒服务。

这一步是将哪吒GRPCPort的代理端口改为443(并非直接将GRPCPort修改为443,之前ip:5555仍能继续使用,同时启用TLS。这样做是以便以后再面板后台复制客户端一键脚本直接替换为通信域名:443。

哪吒探针重装后会覆盖修改后的config.yaml,每次更新记得重新修改

安装完成后输入域名访问测试一下,面板里现在是空的,需要进入网站管理后台配置Agent。

管理后台-添加服务器,名称随意起,添加后在服务器列表中复制一键安装链接,粘贴到ssh终端中执行即可。也可以用这种方法在本机安装,自我监控。

参考资料:

哪吒监控-使用文档

如何才能使哪吒探针全站使用CloudFlare的CDN,来隐藏源ip?

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇