Một SOCKS relay TCP cục bộ có thể mang các báo cáo HTTPS của Monit qua SOCKS mà không tự trở thành điểm cuối TLS. Việc định tuyến phải giữ tên của bộ thu cho HTTPS đồng thời cung cấp cho relay địa chỉ đích thực của nó.

Giả sử bộ thu là collector.example tại 203.0.113.40:443. Trong cấu hình dựa trên socat hiện có, relay có dạng như sau:

socat TCP4-LISTEN:9900,bind=127.0.0.1,reuseaddr,fork \
  SOCKS4:socks.example:203.0.113.40:443,socksport=1080

Ở đây 127.0.0.1:9900 chấp nhận kết nối cục bộ của Monit. socks.example:1080 là máy chủ SOCKS4, được yêu cầu kết nối tới địa chỉ thực của bộ thu trên cổng 443. Thay tất cả địa chỉ tài liệu bằng giá trị của bản triển khai.

Phân giải tên bộ thu cục bộ tới trình lắng nghe đó, và giữ tên trong monitrc:

127.0.0.1 collector.example

set mmonit https://monit:[email protected]:9900/collector

Dòng đầu là một mục trong tệp hosts; dòng thứ hai là cấu hình Monit. Dùng thông tin đăng nhập thực của bộ thu với mã hoá URL theo yêu cầu. Việc ánh xạ trong tệp hosts cũng ảnh hưởng đến các ứng dụng khác dùng tên đó trên máy.

Bắt tay HTTPS vẫn thuộc về bộ thu, vì vậy hãy giữ tên máy chủ của nó và chính sách xác minh chứng chỉ đã định. Đổi URL thành localhost sẽ thay đổi danh tính mà Monit yêu cầu xác minh.

Relay cố ý dùng IP thực của bộ thu thay vì tra tên đã được ánh xạ lại về loopback. Cập nhật IP đó khi địa chỉ bộ thu thay đổi. Giữ trình lắng nghe sẵn sàng như một phần của đường báo cáo; fork xử lý riêng các kết nối relay được chấp nhận.

Bài viết liên quan