前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >内网神伤之消息通知,坑太多了

内网神伤之消息通知,坑太多了

作者头像
大风写全栈
发布2024-12-19 21:24:17
发布2024-12-19 21:24:17
7400
代码可运行
举报
文章被收录于专栏:锤子代码锤子代码
运行总次数:0
代码可运行

想发个告警这么难?

内网保障了安全,却也阻断了一些常用的告警消息推送(比如有个服务监控系统,需要推送告警消息到企业微信/飞书/钉钉机器人)。

挺好的方式WebHook,简单又高效。

之前部署好监控服务就没管通知这一块,监控服务就形同虚设。

最近刚好遇到一个服务宕机,但所有人都后知后觉,宕机很久才发现。

监控服务被提上日程。

第一个简单的方案,用Nginx反向代理内网请求到外网。

Nginx第一坑

反向代理本是Nginx最常见的作用。

上去就是一顿配置。

啥情况?咋没生效??

哪里配置不对吗?

检查一下午。

第二天检查一下版本,Nginx 1.18.0,怀疑是Nginx版本问题。

升级到新的Nginx 1.27.0版本,再用服务器本机尝试一下。

竟然可以了!!

Nginx 1.18.0不是第一次被这个版本背刺了。

上次是反向代理配置了多个规则,结果新配置的规则始终不生效。

升级版本就好了!

内网代理混乱

代理并非像想象中的那样直接,各种绕。

中间可能又经历了几次代理,因为Nginx版本的问题,导致从其它服务器访问代理服务一直不生效。

算是学会了,看到Nginx 1.18.0,尽量先升级!!

Nginx配置反向代理

在Nginx.conf中配置规则:

代码语言:javascript
代码运行次数:0
复制
location ~ ^/feishu/(.*)$ {
    set $webhook_id $1;
    proxy_pass https://open.feishu.cn/open-apis/bot/v2/hook/$webhook_id;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

用curl先在Nginx本机调试一下,记得把webhook_id替换成你自己的:

代码语言:javascript
代码运行次数:0
复制
curl -X POST http://192.168.10.92:25689/feishu/[webhook_id] \
-H "Content-Type: application/json" \
-d '{"msg_type": "text", "content": {"text": "Hello, Feishu 123!"}}'

成功的话,飞书应该能收到消息(其余机器人操作类似)。

有个安全建议,在新增机器人时,设置一下IP白名单或者其余安全措施。

可以防止机器人万一被泄露导致的滥用。

学会了吗?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 锤子代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档