VPN кука што извезува крајна точка на API ја менува околината на процесите што ги стартува, не на терминалот што веќе бил отворен кога тунелот се крена. Токму оваа една разлика објаснува повеќето извештаи „алатката сѐ уште го повикува јавната крајна точка“. Постојат две употребливи места за поставката, а изборот зависи од тоа кој ја троши и колку често се менува. Споредете ги пред да додадете уште една скрипта за стартување.

Две места каде поставката може да живее

Првата опција е префикс на самата наредба: вредноста постои само за тој еден повик и исчезнува со него. Втората опција е извоз внатре во куката за поврзување, што допира до секој процес што куката го стартува по таа точка. Тие се разликуваат по опфат и животен век, не по синтакса, и таа разлика решава повеќето неуспеси.

PropertyPrefix on the commandExport from the hook
Who receives itThat invocation onlyChildren the hook starts
LifetimeUntil the process exitsUntil the hook's own session ends
LeakageScoped to one commandApplies to later commands in that session
Repeat costEvery invocationOnce per connection
Works for an open editorNo, unless the editor is started with itNo

Табелата ја прави куката да изгледа евтина и ја крие вистинската сметка: таа избира приватна крајна точка и за наредби што немаат никаква врска со задачата. Читајте го секој ред како ограничување, а не како претпочитање. Ако крајната точка се менува по задача, префиксот победува во прецизноста, иако чини едно притискање на копче.

Зошто куката не може да допре до веќе отворена лушпа

Променливите на околината му се предаваат на процесот кога се создава сликата на процесот. Лушпа што започнала пред врската ја задржува копијата што ја добила, а извозот извршен внатре во куката не е емитување до секој процес на машината. Ја наследуваат само сопствените деца на куката. Сопствените деца на лушпата го земаат она што лушпата го држи во моментот на нивното стартување, и затоа истата наредба може да работи во еден терминал, а да не успее во друг.

Истото важи и за графички уредувач. Неговиот домаќин за проширувања, вградениот терминал и позадинскиот јазичен сервер се раздвоиле при стартувањето и држат свои копии. Повторното отворање на папка не ги рестартира нужно тие деца, така што додадената поставка сѐ уште никогаш не пристигнува.

Најевтиниот тест е да ја испечатите променливата од местото што не успева, а не од лушпата што работи. Ако процесот што не успева започнал пред тунелот, извозот немал никаква шанса.

Формата по наредба, изпишана

Префиксот ја држи изборот видлив во наредбата што го користи, што помага кога крајната точка се менува меѓу задачите:

env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool

Наредбата е само илустративна: my-work-tool е заменка, а INTERNAL_API не е VPN стандард, затоа ставете ја документираната поставка на програмата што навистина ја извршувате и вашиот одобрен домаќин. Не ставајте токен или лозинка во истиот ред, зашто тие завршуваат во историјата на лушпата.

Кога неколку наредби припаѓаат на една задача, кратка прегледана скрипта-обвивка ги поставува променливите и потоа ги стартува. Така останува една дефиниција, без вредноста да стане глобална за секоја идна наредба во терминалот.

Вчитајте повторно, рестартирајте или оставете го

За алатка што веќе работи, дајте предност на нејзиното сопствено вчитување или профил на работниот простор, кога го има. Инаку зачувајте ја работата и рестартирајте ја компонентата што ја чита поставката, а тоа често е јазичен сервер, не прозорецот на уредувачот. Рестартирањето на прозорецот со претпоставка дека децата процеси го следеа е токму причината зошто повторното вчитување изгледа како да не работи.

Прекинот е одделна одлука. Паузирање, затворање или повторно поврзување му припаѓа на прилогот, а променливата на крајната точка не го контролира тоа. Третирајте ја променливата како конфигурација што избира адреса, а не како правило за тоа кој мрежен сообраќај смее да се користи потоа, и двете работи остануваат раздвоени.

Поврзани статии