Tôi đang cố gắng đóng cổng bằng xác thực cơ bản (đối với cổng đẩy của prometheus), vì vậy không phải là chuyên gia lớn về nginx, vì vậy ai đó có thể vui lòng cho tôi lời khuyên và tôi sai ở đâu không?
Tôi có cổng 9091, cổng này phải được đóng từ bên ngoài trước auth. Cổng này đang được sử dụng bởi pushgateway
Cấu hình nginx hiện tại của tôi:
sự kiện { }
http {
ngược dòng prometheus {
máy chủ 127.0.0.1:9090;
giữ nguyên 64;
}
cổng đẩy ngược dòng {
máy chủ 127.0.0.1:9091;
giữ nguyên 64;
}
người phục vụ {
gốc/var/www/ví dụ;
nghe 0.0.0.0:80;
tên máy chủ __;
địa điểm / {
auth_basic "Xác thực máy chủ Prometheus2";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://prometheus;
}
}
người phục vụ {
gốc/var/www/ví dụ;
nghe 0.0.0.0:3001;
tên máy chủ __;
địa điểm / {
auth_basic "Xác thực máy chủ Pushgateway";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://pushgateway;
}
}
}
Vì vậy, xác thực cơ bản hoạt động tốt cho: 3001, nhưng 9091 vẫn mở. Tôi đã cố gắng thay đổi nó theo cách tiếp theo:
người phục vụ {
gốc/var/www/ví dụ;
nghe 0.0.0.0:3001;
nghe 0.0.0.0:9091;
tên máy chủ __;
địa điểm / {
auth_basic "Xác thực máy chủ Pushgateway";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://pushgateway;
}
}
Và hoạt động tốt, nhưng ... pushgateway không thể bắt đầu khi cố gắng nghe :9091 và đưa ra "liên kết: địa chỉ đã được sử dụng". Làm cách nào tôi có thể tránh nó và ẩn cổng đẩy trước nginx?
Cấu hình của Pushgatewa:
ExecStart=/usr/local/bin/pushgateway --web.listen-address=":9091" --web.telemetry-path="/metrics" --persistence.file="/tmp/metric.store" -- kiên trì.interval=5m --log.level="info" --log.format="logger:stdout?json=true"