Таны хөгжүүлэлтийн сервер нэг минутын өмнө хариулж байсан бол одоо тунель өргөгдсөнөөр хүсэлт таны хэзээ ч бичээгүй хост нэрээр хугацаа хэтэрч байна. Бараг бүх тохиолдлыг хоёр механизм тайлбарладаг бөгөөд гаднаас харвал ижил харагдана. Хайлтын дагавар богино нэрийг корпорацийн нэр болгох бол прокси loopback трафикийг түүнд хүрч чадахгүй хост руу илгээдэг. Энэ хоёрыг ялгах нь нэг асуулгын үнэтэй бөгөөд таны бичих гэж байсан галт хаалтын дүрмийг хэмнэнэ.

localhost корпорацийн бүсэд шийдэгдэх үед

Тунель өргөгдсөн үед нэр юунд шийдэгдэж байгааг шалгаад, дараа нь тунелийг буулгаж мөн асуулгыг ажиллуулж хоёр хариултыг харьцуулна уу. 127.0.0.1 хүлээж байсан газарт корпорацийн муж дахь хаяг гарч байгаа нь дохио юм. localhost.mycompany.corp шиг бичлэг нь клиент тэр дагаврыг хайлтын жагсаалтад нэмэгдсэн даруйд loopback бичлэгийг ялж, хүсэлт тэр порт дээр юу ч сонсохгүй байгаа хувийн хост руу явна. Хайлтын жагсаалтыг таамаглахын оронд уншина уу, учир нь клиент нэгээс олон домэйн нэмж болох бөгөөд аль нэр дэвшигчийг эхлээд оролдохыг дараалал шийднэ:

getent hosts localhost
resolvectl domain
ss -ltnp | grep 8080

Хост нэрийг аппликейшн, өгөгдлийн сангийн клиент эсвэл дэвтрийн URL дахь шууд хаягаар солиод, дараа нь хүсэлтийг давтана уу. Алдаа арилвал та нэршилтийн асуудалтай байсан бөгөөд тунель зөвхөн өдөөгч байсан. Хэрэв үргэлжилбэл сонсогч эсвэл маршрут нь дараагийн сэжигтэн бөгөөд нэр нь зөвхөн хуурамч ул мөр байв.

loopback-ийг барьж авдаг прокси тохиргоо

Тунель өргөгдөх үед хэрэгжих системийн прокси 127.0.0.1 руу хүсэлтийг хүлээн авч, та юу гэсэн гэдгийг мэдэхгүй алсын прокси руу дамжуулна. Хоосон үл харгалзах жагсаалт нь локал хүсэлтийг алсын болгож, алдааны мэдэгдэл үүнийг ховор хэлдэг. Loopback хаягуудыг нэг командад биш, бүх сессэд үл харгалзах жагсаалтад нэмээд, сүлжээний талаар ямар нэгэн дүгнэлт хийхээс өмнө хэрэгсэл үүнийг хүндэтгэж байгааг батална уу.

Аппликейшны фреймворкууд өөрсдийн орчны хувьсагч, заримдаа өөрсдийн тохиргооны файлыг уншдаг тул нэг хэрэгсэлд ажилласан үл харгалзах нь дараагийнханд юу ч батлахгүй. Хөтөчүүд нэг нарийн зүйл нэмдэг: Chromium дээр суурилсан хөтөчүүд loopback-ийн хувьд проксийг далд байдлаар тойрдог бөгөөд үл харгалзах токен тэр зан төлөвийг арилгаж чадна. Үйлдлийн системийн тохиргоо бүх түүх гэж бодохын оронд бодит прокси шийдвэрийг шалгана уу. Shell-ээс эхлүүлсэн бүх зүйлд хоёр команд үүнийг шийднэ:

curl --noproxy '*' http://127.0.0.1:8080/health
NO_PROXY=localhost,127.0.0.1,::1 your-tool

bind хаяг хэн холбогдож болохыг шийднэ

127.0.0.1 дээр эхэлсэн сервер зөвхөн тэр машинаас холболт хүлээн авдаг бөгөөд энэ нь хөгжүүлэлтэд ихэвчлэн зөв өгөгдмөл юм. 0.0.0.0 дээрх сервер VPN адаптерыг оролцуулан бүх интерфэйсд хариулдаг бөгөөд энэ нь ихэнх хүмүүсийн зорьж байгаагаас илүү ил гаргалт юм. Шууд loopback хаяг бүтэлгүйтвэл бусад бүхнээс өмнө bind-ийг шалгана уу.

Сонсож байгаа сокетыг хараад аль хаягт холбогдсоныг тэмдэглэ, зөвхөн портыг биш. Хэрэв өөр төхөөрөмж эсвэл контейнер үйлчилгээнд тунелээр хүрэх шаардлагатай бол түүний ашиглах тодорхой интерфэйст холбоод, тэр портыг зориудоор зөвшөөрнө үү. Зөвхөн таны машинд хэрэгтэй бол нарийн bind-ийг хадгалаад серверийг өргөтгөхийн оронд клиентийг засна уу. Порт дамжуулалт эсвэл тунелийн давхарга хоёрыг холбож чадна, гэхдээ тус бүр дараа нь өөрийн дибаг шаардагдах бүрэлдэхүүн нэмдэг.

Дибаг хэрэгсэл LAN-ыг хүлээдэг газар

Дибаг хэрэгслүүд тунель чимээгүй эвддэг таамаглалыг агуулдаг. Утасны дибаг гүүр нь VPN төхөөрөмжийн дэд сүлжээг барьж авахад төхөөрөмжөө алддаг тул LAN хаяг эсвэл кабелиар дахин холбогдох нь зөрчилдөөнөөс зайлсхийлнэ. Хөтөчийн автоматжуулалтын төв нь зөвхөн проксигоор хүрэх боломжтой үед, эсвэл локал галт хаалт түүний хяналтын портыг унагахад хугацаа хэтэрдэг. Алсын дибаглагч нь клиент маршрутыг дахин бичсэн газарт эрх өсгөх, loopback хаяг шаардаж болно.

Хяналтын порт болон өгөгдлийн портыг тус тусад нь тодорхойл, учир нь ихэвчлэн нэг нь амьд үлдэж, нөгөө нь үлддэггүй. Дараа нь засвар нь хэрэгслийн тохиргоонд, тэр дэд сүлжээний маршрутад эсвэл хуваасан тунелийн дүрэмд хамаарахыг шийднэ үү. Хөгжүүлэгч бүрийн машин дээр hosts файл засах нь хамгийн муу масштаблалтай бөгөөд хамгийн түрүүнд мартагддаг. Профайлтай хамт амьдардаг, тунелийг эзэмшигч хэн ч хянаж болох тохиргоог илүүд үзээрэй.

Бүтэлгүйтсэн эхний үе шатанд зогсо

Гурван үе шатаар доошил: нэрийг шийд, шууд хаяг руу сокет нээ, дараа нь хэрэгсэл өөрийн холболтыг хийг. Үе шат бүр нэг давхаргыг арилгадаг тул эхний алдаа засах ёстой давхаргыг нэрлэж, дараах бүхэн шалгагдаагүй үлддэг. Ямар нэгэн зүйл өөрчлөхөөс өмнө үр дүнг бичиж аваарай, учир нь хэмжилтээс өмнө хэрэглэсэн засварыг азаас ялгах боломжгүй. Эхний оролдлого бүтэлгүйтэж, давталт ажиллавал хэрэгсэл эхлэх үед тунель бэлэн болоогүй байсан.

Тогтмол хүлээлтийг маршрутыг хүлээдэг хязгаарлагдмал бэлэн байдлын шалгалтаар сольж, бүтэлгүйтсэн үе шатыг логт үлдээгээрэй, дараагийн хүн хаана зогссоныг харна. Өөрөө сэргэдэг хэрэгсэл зассан биш, зүгээр л азтай бөгөөд аз өөр хэн нэгний машин дээр дуусдаг. Тунелийг хамгийн сүүлд, зөвхөн үнэхээр бүтэлгүйтсэн үе шатанд өөрчил. Тэр дараалал нь ажиллаж байгаа build руу буцах хамгийн богино зам болдог, учир нь хэзээ ч оролцоогүй бүрэлдэхүүнийг дахин бүтээхээс таныг сэргийлдэг.

Холбоотой нийтлэлүүд