QGIS husoma njia yoyote ambayo watoa data wake wanaweza kufikia, kwa hiyo VPN iliyounganishwa ni nusu tu ya usanidi. Handaki hulipa desktop njia na sera ya utatuzi wa majina; mradi bado unahitaji sehemu ya mwisho ya huduma, itifaki ya mtoa huduma na nyaraka za kuthibitisha ambazo huduma itakubali. Hizi ni sehemu tatu tofauti, na kuandika msikilizaji wa umma wa VPN kwenye sehemu ya hifadhidata si mojawapo. Mwongozo huu unafuata tabaka moja la PostGIS kutoka fomu ya QGIS hadi safu inayorejeshwa na kutaja mpaka ambao kila hatua inathibitisha.

Anza na tabaka, si na VPN

Kila aina ya tabaka hufikia aina tofauti ya sehemu ya mwisho. Tabaka la PostGIS hufungua muunganisho wa PostgreSQL na mwenyeji, lango, hifadhidata na jukumu. Tabaka la WMS au WFS hupata URL ya huduma kisha huchanganua hati la uwezo. Faili ya shapefile kwenye ushirikiano wa mtandao inahitaji njia ya faili tu ambayo mfumo wa uendeshaji unaweza kufungua. Kwa kuwa hizi ni mbinu tatu tofauti, mradi tupu haukuambii kitu hadi ujue unatatua ipi.

Muulize mwendeshaji wa GIS kuhusu sehemu ya mwisho, lango, utambulisho unaohitajika na sera ya ufikiaji inayotumika kwa akaunti yako. Dumisha jina la mwenyeji wa huduma kama lilivyotolewa wakati usambazaji unategemea DNS ya kibinafsi au ukaguzi wa jina katika cheti. Kutumia tena anwani ya mwenyeji iliyonakiliwa kutoka muunganisho uliohifadhiwa wa mtumiaji mwingine ni njia ya haraka zaidi kufikia mashine inayojibu lakini inayoshikilia hifadhidata ya zamani.

Njia, rasilimali zilizoruhusiwa na utatuzi wa majina ni mali ya anayesimamia VPN. Fomu ya chanzo cha data haiwezi kufunga njia ambayo wasifu wa handaki haukuwahi kuituma, na haiwezi kupanua sera ya lango. Mwenyeji anapotatuliwa na lango linapojibu, upande wa mtandao wa tatizo umekamilika.

Weka sehemu ya mwisho ya kibinafsi iliyotolewa na mwendeshaji

Fomu ya PostgreSQL katika QGIS inaakisi sehemu ambazo libpq inatarajia, kwa hiyo ijaze kwa mpangilio ule ule ambao muunganisho wa mstari wa amri ungefanya. Huduma na mwenyeji huchukua mashine ya hifadhidata, lango huchukua msikilizaji ambao seva inafungua kweli, na hifadhidata huchukua katalogi maalum badala ya chaguo-msingi la seva. Hifadhi nenosiri katika usanidi wa uthibitishaji badala ya faili ya mradi, ili mradi unaoshirikiwa usibebe nyaraka za kuthibitisha.

Tenganisha majina mawili kabla ya kuandika chochote. Jina la lango ni la mteja wa VPN na jina la hifadhidata ni la QGIS, na mara chache ni mwenyeji mmoja.

VPN gateway:   vpn.gis.lab.example       (profile only, not a data source)
Database host: db.gis.lab.example:5432   (PostGIS service)
Database name: gis_prod
TLS mode:      verify-full

Ikiwa hifadhidata iko kwenye mashine nyingine nyuma ya lango, jina kwenye fomu lazima liwe mashine hiyo. DNS ya kibinafsi kupitia handaki ndiyo inayofanya jina lifanye kazi, na mradi unaotatuliwa tu ukiwa umeunganishwa unafanya vyema badala ya kuhifadhi akiba vibaya.

Dumisha hali ya TLS ya hifadhidata tofauti na handaki

SSL katika jina la bidhaa ya VPN inaelezea handaki, si kikao cha hifadhidata. QGIS hupitisha hali ya SSL ya PostgreSQL kwa libpq, na hali hiyo hudhibiti ikiwa mteja anathibitisha cheti cha seva na ikiwa anakagua jina la mwenyeji ndani yake. verify-fullhufanya vyote viwili, ndiyo sababu ndiyo hali inayofaa kubaki nayo cheti kinapobeba jina la huduma.

Kupunguza hali hadi disable kwa sababu handaki tayari limesimbwa huondoa ukaguzi kwamba seva uliyofikia ndiyo seva uliyoomba. Uthibitishaji unaposhindikana, sababu ya kawaida ni kutokulingana kwa jina au cheti cha mzizi kinachokosekana, na vyote viwili vinaweza kurekebishwa bila kudhoofisha muunganisho. Elekeza sslrootcert kwenye CA inayochapishwa na mwendeshaji na dumisha jina la mwenyeji kwenye fomu sawa na jina lililo kwenye cheti.

Handaki lenye njia ya kibinafsi na hifadhidata yenye cheti halali bado vinaweza kushindikana kwa jukumu. Nyaraka za uthibitisho za programu ni tofauti na zile za VPN, na akaunti inayothibitishwa kwenye lango haina haki yoyote isiyo ya wazi katika PostgreSQL.

Jaribu kila mpaka kwa mpangilio na usome kushindikana kwa kwanza

Fanya kazi kutoka kwa mteja kuelekea nje kwa mpangilio maalum: utatuzi wa majina, ufikikaji wa TCP, TLS, uthibitishaji na kisha swali lenyewe. Hatua ya kwanza inayoshindikana ndiyo pekee inayofaa kuripotiwa, na kuruka mbele huleta ujumbe wa hitilafu kutoka mpaka ambao bado hujaufikia. Amri nne hufunika hatua nne za kwanza.

getent hosts db.gis.lab.example
nc -vz db.gis.lab.example 5432
psql "host=db.gis.lab.example port=5432 dbname=gis_prod sslmode=verify-full" -c 'select 1'
curl -sS 'https://wms.gis.lab.example/ows?service=WMS&request=GetCapabilities' | head -c 200

Jibu tupu kutoka getent ni tatizo la utatuzi, si tatizo la hifadhidata. nc lililokataliwa au lililoisha muda linamaanisha njia au kanuni ya firewall haipo, jambo ambalo ni marekebisho upande wa lango. Hitilafu ya TLS kutoka psql inamaanisha cheti au jina si sahihi, wakati password authentication failed inamaanisha ulifika PostgreSQL na tatizo ni nyaraka za uthibitisho. Kwa tabaka la WMS, mwito curl hurejesha XML ya uwezo ambayo QGIS ingeichanganua, kwa hiyo ukurasa wa kuingia wa HTML katika matokeo hayo hueleza papo hapo tabaka tupu.

Hitilafu ya PostgreSQL ni habari njema ikilinganishwa na kuisha muda. Inathibitisha kuwa lengo lilijibu, jambo ambalo huhamisha tiketi kutoka timu ya mtandao hadi msimamizi wa hifadhidata au GIS. Kudumisha tofauti hiyo kwenye ripoti huokoa mzunguko mmoja.

Mradi unapofunguka na tabaka tupu

Ndani ya QGIS, angalia chanzo kilichohifadhiwa cha tabaka kabla ya kuweka tena chochote. Sifa za tabaka zinaonyesha mfuatano halisi wa muunganisho ambao mradi ulihifadhi, na ingizo la muunganisho lililorudiwa lenye mwenyeji wa zamani ni mabaki ya kawaida kutoka mtandao wa ofisi uliopita. Kupakia upya mradi baada ya kurekebisha muunganisho hakusomi mtoa huduma kila mara, kwa hiyo ondoa tabaka na uongeze tena kutoka muunganisho uliorekebishwa.

Kisha thibitisha kuwa usanidi wa uthibitishaji ni ule ulioambatanishwa na tabaka, si ule ulio kwenye orodha tu. Tabaka lililohifadhiwa na usanidi mwingine wa uthibitishaji hushindikana kimya kwenye paneli ya kivinjari wakati jaribio psql la kujitegemea linapita.

Tabaka linapopakiwa, hifadhi mradi ukiwa na njia za jamaa kwa faili tu na dumisha muunganisho wa huduma ukipewa majina kwa sehemu zao za mwisho. Mtu anayefuata kurithi mradi ataweza kusema ni mwenyeji gani tabaka lililovunjika lilitarajia bila kufungua tiketi.

Makala zinazohusiana