Kople QGIS til PostGIS bak ein VPN: steg for steg
Pek QGIS mot PostGIS eller WMS bak ein VPN: skil tunnelen frå endepunktet til tenesta, hald på verify-full TLS og prøv kvar grense i rekkjefølgje.
QGIS les kvar stig dataleverandørane når, så ein VPN som er oppe er berre helvta av oppsettet. Tunnelen gjev skrivebordet ei rute og ein namnepolitikk; prosjektet treng framleis endepunktet til tenesta, protokollen til leverandøren og dei påloggingsdetaljane tenesta godtek. Det er tre skilde felt, og å skrive den offentlege lyttaren til VPN-en i eit databasefelt er ingen av dei. Denne gjennomgangen følgjer eitt PostGIS-lag frå QGIS-skjemaet til ei returnert rad og namngjev grensa kvart steg beviser.
Start med laget, ikkje med VPN-en
Kvar lagtype når ein ulik type endepunkt. Eit PostGIS-lag opnar ei PostgreSQL-tilkopling med vert, port, database og rolle. Eit WMS- eller WFS-lag hentar ein teneste-URL og analyserer deretter eit kapabilitetsdokument. Ei shapefile på ei nettverksdeling treng berre ein filsti som operativsystemet kan opne. Sidan dette er tre ulike mekanismar, seier eit tomt prosjekt deg ingenting før du veit kva du feilsøkjer.
Spør GIS-operatøren om endepunktet, porten, identiteten som krevst og tilgangspolitikken som gjeld for kontoen din. Hald vertsnamnet til tenesta nøyaktig som utskrive når utrullinga er avhengig av privat DNS eller av namnekontroll i sertifikatet. Å bruke ein vertsadresse kopiert frå den lagra tilkoplinga til ein annan brukar på nytt er den snøggaste vegen til ein maskin som svarar men har ein eldre database.
Ruter, tillatne ressursar og namneoppløysing høyrer til den som driftar VPN-en. Eit datakjeldskjema kan ikkje installere ei rute tunnelprofilen aldri sende, og det kan ikkje utvide ein gateway-politikk. Når verten blir løyst opp og porten svarar, er nettverkssida av problemet ferdig.
Skriv inn det private endepunktet operatøren skreiv ut
PostgreSQL-skjemaet i QGIS speglar felta libpq ventar, så fyll det ut i same rekkjefølgje som ei kommandolinjetilkopling ville gjere. Teneste og vert tek databasemaskinen, port tek lyttaren serveren faktisk opnar, og database tek den konkrete katalogen i staden for standarden til serveren. Lagre passordet i ein autentiseringskonfigurasjon i staden for i prosjektfila, slik at eit delt prosjekt ikkje ber påloggingsdetaljar.
Skil dei to namna før du skriv noko. Gateway-namnet høyrer heime i VPN-klienten og databasenamnet i QGIS, og dei er sjeldan same vert.
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
Ligg databasen på ein annan maskin bak gatewayen, må namnet i skjemaet vere den maskinen. Privat DNS gjennom tunnelen er det som får namnet til å verke, og eit prosjekt som berre blir løyst opp medan du er tilkopla, gjer det rette i staden for å cache dårleg.
Hald TLS-modusen til databasen skild frå tunnelen
SSL i eit VPN-produktnamn skildrar tunnelen, ikkje databasesesjonen. QGIS sender PostgreSQL SSL-modus vidare til libpq, og den modusen styrer om klienten stadfester sertifikatet til serveren og om han kontrollerer vertsnamnet i det. verify-fullgjer begge delar, difor er det modusen som er verd å halde på når sertifikatet ber tenestenamnet.
Å senke modusen til disable fordi tunnelen alt er kryptert fjernar kontrollen av at serveren du nådde er serveren du bad om. Når stadfestinga feilar, er den vanlege årsaka namneavvik eller manglande rotsertifikat, og begge kan rettast utan å svekkje tilkoplinga. Pek sslrootcert mot CA-en operatøren publiserer, og hald vertsnamnet i skjemaet identisk med namnet i sertifikatet.
Ein tunnel med privat rute og ein database med gyldig sertifikat kan framleis feile på rolla. Påloggingsdetaljane til applikasjonen er skilde frå dei til VPN-en, og ein konto som autentiserer mot gatewayen har ingen implisitte rettar i PostgreSQL.
Prøv kvar grense i rekkjefølgje og les den første feilen
Arbeid frå klienten og utover i fast rekkjefølgje: namneoppløysing, TCP-tilgjenge, TLS, autentisering og deretter sjølve spørjinga. Det første steget som feilar er det einaste som er verd å rapportere, og å hoppe framover gjev feilmeldingar frå ei grense du ikkje har nådd enno. Fire kommandoar dekkjer dei fire første stega.
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
Eit tomt svar frå getent er eit oppløysingsproblem, ikkje eit databaseproblem. Ein avvist eller utlopen nc tyder at ei rute eller ei brannmurregel manglar, noko som er ei retting på gatewaysida. Ein TLS-feil frå psql tyder at sertifikatet eller namnet er feil, medan password authentication failed tyder at du nådde PostgreSQL og at påloggingsdetaljane er problemet. For eit WMS-lag gjev curl kallet kapabilitets-XML-en QGIS ville ha analysert, så ei HTML-innloggingsside i den utskrifta forklarer straks eit tomt lag.
Ein PostgreSQL-feil er gode nyhende samanlikna med eit tidsavbrot. Han beviser at målet svara, noko som flyttar saka frå nettverksteamet til database- eller GIS-administratoren. Å halde på den skilnaden i rapporten sparar ein runde.
Når prosjektet opnar med tomme lag
Sjekk den lagra kjelda til laget i QGIS før du skriv inn noko på nytt. Lageigenskapane viser den nøyaktige tilkoplingsteksten prosjektet lagra, og ei dobbel tilkopling med ein eldre vert er ein vanleg rest frå eit tidlegare kontornettverk. Å laste prosjektet på nytt etter å ha retta ei tilkopling les ikkje alltid leverandøren igjen, så fjern laget og legg det til på nytt frå den retta tilkoplinga.
Stadfest deretter at autentiseringskonfigurasjonen er den som er knytt til laget, ikkje berre ein som finst i lista. Eit lag lagra med ein annan autentiseringskonfigurasjon feilar stille i nettlesarpanelet medan den separate psql testen går gjennom.
Når laget blir lasta, lagre prosjektet med relative stigar berre for filer og hald tenestetilkoplingar namngjevne etter endepunktet sitt. Den neste personen som arvar prosjektet kan då sjå kva vert eit øydelagt lag venta på utan å opne ei sak.