Konektatu QGIS PostGIS-era VPN baten atzean: urratsez urrats
Zuzendu QGIS VPN baten atzeko PostGIS edo WMS-era: bereizi tunela zerbitzuaren amaierako puntutik, mantendu verify-full TLS, eta probatu muga bakoitza hurrenez hurren.
QGISek bere datu-hornitzaileek irits dezaketen edozein bide irakurtzen du, beraz martxan dagoen VPN bat konfigurazioaren erdia baino ez da. Tunelak mahaigainari ibilbide bat eta izenen ebazpen-politika bat ematen dizkio; proiektuak zerbitzuaren amaierako puntua, hornitzailearen protokoloa eta zerbitzuak onartuko dituen kredentzialak behar ditu oraindik. Hiru sarrera bereizi dira horiek, eta VPNaren entzule publikoa datu-basearen eremu batean idaztea ez da horietako bat. Ibilbide honek PostGIS geruza bat jarraitzen du QGIS inprimakitik itzulitako errenkada bateraino, eta urrats bakoitzak frogatzen duen muga izendatzen du.
Hasi geruzatik, ez VPNtik
Geruza mota bakoitzak amaierako puntu mota desberdin batera iristen da. PostGIS geruza batek PostgreSQL konexio bat irekitzen du ostalari, portu, datu-base eta rolekin. WMS edo WFS geruza batek zerbitzu URL bat ekartzen du eta gero gaitasun dokumentu bat aztertzen du. Sare-partekatze bateko shapefile batek sistema eragileak ireki dezakeen fitxategi-bide bat baino ez du behar. Hiru mekanismo desberdin direnez, proiektu huts batek ez dizu ezer esaten zein arazten ari zaren jakin arte.
Galdetu GIS operadoreari amaierako puntua, portua, behar den identitatea eta zure kontuari aplikatzen zaion sarbide-politika. Mantendu zerbitzuaren ostalari-izena eman zen bezalaxe, hedapenak DNS pribatuaren edo ziurtagiriko izen-egiaztapenen mende dagoenean. Beste erabiltzaile baten gordetako konexiotik kopiatutako ostalari-helbidea berrerabiltzea erantzuten duen baina datu-base zaharragoa duen makina batera iristeko modurik azkarrena da.
Ibilbideak, baimendutako baliabideak eta izenen ebazpena VPNa kudeatzen duenarenak dira. Datu-iturri inprimaki batek tunelaren profilek inoiz bidali ez zuen ibilbide bat ezin du instalatu, eta ezin du atearen politika zabaldu. Ostalariak ebazten duenean eta portuak erantzuten duenean, arazoaren sare-aldea amaituta dago.
Sartu operadoreak eman zuen amaierako puntu pribatua
QGISeko PostgreSQL inprimakiak libpq-k espero dituen eremuak islatzen ditu, beraz bete ezazu komando-lerroko konexio batek egingo lukeen ordena berean. Zerbitzuak eta ostalariek datu-basearen makina hartzen dute, portuak zerbitzariak benetan irekitzen duen entzulea hartzen du, eta datu-baseak katalogo zehatza hartzen du zerbitzariaren lehenespenaren ordez. Gorde pasahitza autentifikazio-konfigurazio batean, proiektu-fitxategian beharrean, partekatutako proiektuak kredentzialik ez dezan eraman.
Bereizi bi izenak ezer idatzi aurretik. Atearen izena VPN bezeroan dago eta datu-basearen izena QGISen, eta gutxitan dira ostalari bera.
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
Datu-basea atearen atzeko beste makina batean badago, inprimakiko izenak makina hori izan behar du. Tunelaren bidezko DNS pribatua da izena funtzionarazten duena, eta konektatuta zauden bitartean soilik ebazten duen proiektuak ondo jokatzen du, ez du gaizki cacheatzen.
Mantendu datu-basearen TLS modua tunelatik bereizita
VPN produktu baten izeneko SSLak tunela deskribatzen du, ez datu-basearen saioa. QGISek PostgreSQL SSL modua libpq-ri pasatzen dio, eta modu horrek kontrolatzen du bezeroak zerbitzariaren ziurtagiria egiaztatzen duen eta hari barruko ostalari-izena egiaztatzen duen. verify-fullbiak egiten ditu, horregatik da ziurtagiriak zerbitzuaren izena dakarrenean mantentzea merezi duen modua.
Modua disable jaisteak, tunela dagoeneko zifratuta dagoelako, iritsi zaren zerbitzaria eskatu zenuen zerbitzaria dela egiaztatzea kentzen du. Egiaztapenak huts egiten duenean, ohiko arrazoia izen-desadostasuna edo erro-ziurtagiri falta da, eta biak konpon daitezke konexioa ahuldu gabe. Zuzendu sslrootcert operadoreak argitaratzen duen CAra eta mantendu inprimakiko ostalari-izena ziurtagiriko izenaren berbera.
Ibilbide pribatua duen tunel batek eta ziurtagiri balioduna duen datu-base batek huts egin dezakete oraindik rolean. Aplikazioaren kredentzialak VPNaren kredentzialetatik bereiziak dira, eta atean autentifikatzen den kontuak ez du inolako eskubide inpliziturik PostgreSQLen.
Probatu muga bakoitza hurrenez hurren eta irakurri lehen hutsa
Lan egin bezerotik kanpora ordena finko batean: izenen ebazpena, TCP irispidea, TLS, autentifikazioa eta gero kontsulta bera. Huts egiten duen lehen urratsa da salatzea merezi duen bakarra, eta aurrera jauzi egiteak oraindik iritsi ez zaren muga bateko errore-mezuak sortzen ditu. Lau komandok estaltzen dituzte lehen lau urratsak.
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
Hutsik datorren getent ebazpen-arazoa da, ez datu-basearena. Ukatutako edo denboraz kanpoko nc batek ibilbidea edo firewall araua falta dela esan nahi du, hau da, atearen aldeko konponketa. TLS errorea psql ziurtagiria edo izena okerrak direla esan nahi du, eta password authentication failed PostgreSQL-era iritsi zarela eta kredentziala dela arazoa adierazten du. WMS geruza baterako, curl deiak QGISek aztertuko lukeen gaitasun XMLa itzultzen du, beraz irteera horretako HTML saio-hasiera orriak geruza hutsa berehala azaltzen du.
PostgreSQL errore bat albiste ona da itxaron-denbora baten aldean. Helmugak erantzun zuela frogatzen du, eta horrek txartela sare-taldetik datu-basearen edo GISaren administratzailera eramaten du. Bereizketa hori txostenean mantentzeak joan-etorri bat aurreztatzen du.
Proiektua geruza hutsekin irekitzen denean
QGISen barruan, egiaztatu geruzaren gordetako iturria ezer berriro sartu aurretik. Geruza-propietateek proiektuak gordetako konexio-kate zehatza erakusten dute, eta ostalari zaharragoa duen konexio-sarrera bikoiztua aurreko bulegoko sare baten ohiko aztarna da. Konexio bat konpondu ondoren proiektua berriz kargatzeak ez du beti hornitzailea berriro irakurtzen, beraz kendu geruza eta gehitu berriro zuzendutako konexiotik.
Gero egiaztatu autentifikazio-konfigurazioa geruzari atxikitakoa dela, ez soilik zerrendan dagoena. Beste autentifikazio-konfigurazio batekin gordetako geruza isilki huts egiten du arakatzaile-panelean, eta psql proba independenteak gainditzen du.
Geruza kargatzen denean, gorde proiektua fitxategientzako bide erlatiboekin soilik eta mantendu zerbitzu-konexioak beren amaierako puntuaren izenarekin. Proiektua heredatzen duen hurrengo pertsonak jakin ahal izango du zein ostalari espero zuen geruza hautsi batek txartelik ireki gabe.