monit: không thể kết nối với giao diện http


8

Tôi đang thiết lập monit trên một trang web mới, mà tôi sẽ gọi là mywebsite.com trong câu hỏi này. Tôi đã thiết lập cấu hình để truy cập trang giao diện web của monit, nhưng tôi không thể kết nối với nó. Tôi đã có một tường lửa cơ bản chạy với iptables và tôi nghĩ rằng tôi đã tạo ra một lỗ hổng cho monit, nhưng tôi không thể kết nối với giao diện web của monit và tôi không biết tại sao.

Tôi chưa thiết lập bất cứ điều gì để giám sát: cấu hình monit của tôi trông như thế này:

## Start monit in the background (run as a daemon):
set daemon  120           # check services at 2-minute intervals

set httpd port 2812 and
  use address mywebsite.com  
  allow localhost      
  allow admin:password

Tôi đã khởi động lại monit với các quy tắc này.

Tôi đã tạo một quy tắc cho monit trong cấu hình iptables của mình, trông giống như sau:

#monit interface
-A OUTPUT -p tcp --dport 2812 -j ACCEPT
-A INPUT -p tcp --dport 2812 -j ACCEPT

Sau đó tôi đã nhập các quy tắc này vào /sbin/iptables-restore. Tôi có thể thấy mục monit khi tôi làm sudo /sbin/iptables -L:

...
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:2812 
...

Nhưng, khi tôi đi đến http://mywebsite.com:2812tôi Error code: ERR_EMPTY_RESPONSEvào trình duyệt.

Có ai có ý kiến ​​gì không? Tôi thậm chí không biết vấn đề có liên quan gì đến iptables không. Cảm ơn trước, Max

EDIT: Tôi đã thử thay đổi dòng 'localhost' trong cấu hình monit:

set httpd port 2812 and
  use address mywebsite.com  
  allow mywebsite.com      
  allow admin:password

nhưng nó không tạo ra sự khác biệt nào.


Có vẻ như bạn chỉ cho phép localhost. Bạn nên cho phép mạng con của bạn.
krisFR

cảm ơn - xem chỉnh sửa, đây có phải là ý của bạn khi "cho phép mạng con của bạn" không?
Max Williams

Câu trả lời:


14

Để truy cập Monit từ bên ngoài nerwork, chỉ cần đặt:

Không có thông tin và truy cập từ khắp mọi nơi:

set httpd port 2812

Để truy cập từ mọi nơi với xác thực:

set httpd port 2812
   allow <auth_user>:<auth_password>

Trong trường hợp của bạn, loại bỏ andở cuối dòngset httpd port 2812 and

Lưu ý : Nếu bạn đang kiểm tra thiết lập với mật khẩu được đặt là "mật khẩu", bạn sẽ nhận được lỗi này:

Error: syntax error 'password'

1
đã làm việc - cảm ơn! Phần "và" đến từ trang web này - tecmint.com/, - có lẽ còn sót lại từ một phiên bản cũ hơn của monit, có cú pháp cấu hình khác nhau?
Max Williams

1
Không, đó là bởi vì trong hướng dẫn này, họ luôn giao dịch với localhost. Họ không giải thích cách truy cập từ bên ngoài localhost (nhìn vào url trong màn hình in của họ)
krisFR

Điều này đã giúp tôi rất nhiều và tôi yêu monit
Cesar Bielich

Tôi nghi ngờ bạn phải chỉ định ít nhất một giữa allowcredentialschỉ thị. Xem serverfault.com/a/900823/459872
Davide Cavestro

chỉ cài đặt cổng httpd 2812 mà không cho phép không hoạt động nữa. monit: monit httpd chưa bắt đầu vì không cho phép kết nối
roothahn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.