0%

DevRecord-Nginx配合AsynqmonWeb监控

Pre:

遇到的问题:

  1. asynqweb监控没有认证,需要配合nginx使用

  2. 加了nginx后,会出现访问前端资源文件404的问题,issue: Add a server path option to proxy the asynqmon

解决方案:

  1. 修改asynqmon源码,添加server path选项

  2. 重新编译asynqmon

fork后修改完的asynqmon仓库

nginx生成认证文件:

安装 htpasswd 工具生成认证文件

1
sudo yum install httpd-tools

创建认证文件并添加用户
例如创建一个用户叫 admin:

1
htpasswd -c /etc/nginx/.asynqmon_pass admin

配置 Nginx 反向代理并加上认证

假设你本地运行 asynqmon 的监听端口是 localhost:8081,你希望通过 http://yourdomain.com/asynqmon 访问:

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
listen 80;
server_name yourdomain.com;

location /asynqmon/ {
proxy_pass http://127.0.0.1:8081/asynqmon/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;

auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.asynqmon_pass;
}
}

重新编译asynqmon:

如果遇到 Node.js 版本兼容性问题,使用以下命令构建前端资源:

1
2
3
cd ui
export NODE_OPTIONS="--openssl-legacy-provider"
yarn build

然后构建完整应用程序:

1
2
3
4
# 本地编译
go build -o asynqmon ./cmd/asynqmon
# 交叉编译
GOOS=linux GOARCH=amd64 go build -o asynqmon ./cmd/asynqmon

its work:

20250625212444