Лакальны TCP-рэлей можа перадаваць HTTPS-справаздачы Monit праз SOCKS, не робячыся самім канчатковым пунктам TLS. Маршрутызацыя павінна захаваць імя калектара для HTTPS і адначасова даць рэлею яго сапраўдны адрас прызначэння.

Выкажам здагадку, што калектар — collector.example на 203.0.113.40:443. У існуючай схеме на базе socat рэлей мае такі выгляд:

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

Тут 127.0.0.1:9900 прымае лакальнае злучэнне Monit. socks.example:1080 — гэта сервер SOCKS4, якому даручана злучыцца з сапраўдным адрасам калектара на порце 443. Замяніце ўсе дакументацыйныя адрасы на значэнні разгортвання.

Вырашыце імя калектара лакальна на гэты слухач і пакіньце імя ў monitrc:

127.0.0.1 collector.example

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

Першы радок — запіс у файле hosts; другі — канфігурацыя Monit. Выкарыстоўвайце сапраўдныя ўліковыя дадзеныя калектара з неабходным кадаваннем URL. Супастаўленне ў файле hosts таксама ўплывае на іншыя праграмы, якія выкарыстоўваюць гэтае імя на машыне.

Рукапацісканне HTTPS па-ранейшаму належыць калектару, таму захавайце яго імя хоста і меркаваную палітыку праверкі сертыфіката. Змена URL на localhost змяняе ідэнтычнасць, якую Monit просіць праверыць.

Рэлей наўмысна выкарыстоўвае сапраўдны IP калектара, а не шукае імя, перасунутае на loopback. Абнаўляйце гэты IP, калі адрас калектара змяняецца. Трымайце слухач даступным як частку шляху справаздач; fork дае прынятым злучэнням рэлея асобную апрацоўку.

Падобныя артыкулы