’n VPN-hook wat ’n API-eindpunt uitvoer, verander die omgewing van die prosesse wat hy begin, nie dié van die terminal wat reeds oop was toe die tonnel opgekom het nie. Daardie een onderskeid verklaar die meeste “die gereedskap roep steeds die publieke eindpunt” verslae. Daar is twee werkbare plekke om die instelling te plaas, en die keuse hang daarvan af wie dit gebruik en hoe dikwels dit verander. Vergelyk hulle voordat jy nog ’n opstartskrip byvoeg.

Twee plekke waar die instelling kan woon

Opsie een is ’n voorvoegsel op die opdrag self: die waarde bestaan vir daardie een aanroep en verdwyn daarmee saam. Opsie twee is ’n uitvoer binne die verbindingshook, wat elke proses bereik wat die hook daarna begin. Hulle verskil in bereik en leeftyd, nie in sintaksis nie, en daardie verskil bepaal die meeste mislukkings.

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

Die tabel laat die hook goedkoop lyk en verberg die werklike rekening: dit kies ook ’n private eindpunt vir opdragte wat niks met die taak te doen het nie. Lees elke ry as ’n beperking eerder as ’n voorkeur. As die eindpunt per taak verander, wen die voorvoegsel op presisie, al kos dit ’n toetsaanslag.

Waarom die hook nie ’n dop kan bereik wat reeds oop is nie

Omgewingsveranderlikes word aan ’n proses gegee wanneer die prosesbeeld geskep word. ’n Dop wat voor die verbinding begin het, hou die kopie wat hy ontvang het, en ’n uitvoer wat binne die hook uitgevoer word, is nie ’n uitsending na elke proses op die masjien nie. Slegs die hook se eie kinders erf dit. ’n Dop se eie kinders neem wat die dop op die oomblik van hul begin bevat, en daarom kan dieselfde opdrag in een terminal werk en in ’n ander misluk.

Dieselfde geld vir ’n grafiese redigeerder. Sy uitbreidingsgasheer, ingeboude terminal en agtergrondtaalserver is by die bekendstelling gevurk en hou hul eie kopieë. Om ’n gids weer oop te maak, herbegin nie noodwendig daardie kinders nie, so die instelling wat jy bygevoeg het, kom steeds nooit aan nie.

Die goedkoopste toets is om die veranderlike te druk vanaf die plek wat misluk, nie vanaf die dop wat werk nie. As die mislukkende proses voor die tonnel begin het, het die uitvoer nooit ’n kans gehad nie.

Die vorm per opdrag, uitgeskryf

’n Voorvoegsel hou die keuse sigbaar in die opdrag wat dit gebruik, wat help wanneer die eindpunt tussen take verander:

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

Die opdrag is ter illustrasie: my-work-tool is ’n plekhouer en INTERNAL_API is nie ’n VPN-standaard nie, so vervang dit met die gedokumenteerde instelling van die program wat jy werklik gebruik en jou eie goedgekeurde gasheer. Moenie ’n teken of wagwoord op dieselfde reël plaas nie, want dit beland in die dop se geskiedenis.

Wanneer verskeie opdragte aan een taak behoort, stel ’n kort, nagegane omhulselskrip die veranderlikes en begin dit dan. Dit hou ’n enkele definisie sonder om die waarde globaal te maak vir elke toekomstige opdrag in die terminal.

Herlaai, herbegin of los dit alleen

Vir ’n gereedskap wat reeds loop, verkies sy eie herlaai of werkruimteprofiel wanneer hy een het. Anders, stoor werk en herbegin die komponent wat die instelling lees, wat dikwels ’n taalserver eerder as die redigeerdervenster is. Om die venster te herbegin en aan te neem die kindprosesse het gevolg, is hoe ’n herlaai lyk of dit nie werk nie.

Ontkoppeling is ’n afsonderlike besluit. Om te pouseer, te sluit of weer te koppel, hoort by die toepassing, en die eindpuntveranderlike beheer dit nie. Behandel die veranderlike as konfigurasie wat ’n adres kies, nie as ’n reël oor watter netwerkverkeer daarna gebruik mag word nie, en die twee kwessies bly skeibaar.

Verwante artikels