GeoServer agus PostGIS: is í conair VPN an fhreastalaí an ceann a bhfuil tábhacht léi
Ní deir sé rud ar bith faoi do ríomhaire glúine GeoServer a bhaint amach an mbaineann GeoServer PostGIS amach. Cuir an dá fhoinse i gcomparáid, teorainn an taisce agus foinse an stórtha sonraí féin.
Osclaíonn tú an ciseal i QGIS agus rindreáiltear é. Faigheann comhghleacaí ar an VPN céanna earráid don chiseal céanna. Tagann duine éigin ar an gconclúid go bhfuil an VPN briste, agus caitear an chéad uair eile ag aistriú bunachar sonraí nó ag nochtadh port nár theastaigh ceachtar díobh uaidh riamh. Fágann an t-iarratas ón deasc agus an cheist a dhéanann GeoServer ar PostGIS ó mheaisíní éagsúla, i spásanna ainmneacha líonra éagsúla, faoi dhintiúir éagsúla. Is é an dá chonair sin a scaradh an chuid is mó den diagnóis.
Dhá nasc, dhá fhoinse
QGIS -> client's permitted path (often the VPN) -> GeoServer listener
GeoServer -> server's permitted path -> PostGIS listener
Ní fhaigheann an dara saighead tollán an chéad ríomhaire le hoidhreacht. Tá stac líonra an choimeádáin ag GeoServer i gcoimeádán, ní stac an óstaigh, agus is féidir le coimeádán ar líonra droichid bunachar sonraí a bhaint amach nach mbaineann an t-óstach amach, nó a mhalairt. Mar sin is féidir leis an úsáideoir céanna éirí agus teip laistigh de sheisiún amháin, ag brath ar cé acu a tháinig an freagra as an taisce nó as ceist úr.
| What you tested | What it proves |
|---|---|
Portal page or GetCapabilities | HTTP reachability to GeoServer only |
| A tile served from cache | nothing about the database |
GetMap for an uncached layer | a datastore query had to happen |
Aimsigh an chéim ar theip uirthi i ndáiríre
Breathnaíonn diúltú ar leibhéal seirbhíse, iarratas íomhá nach sroicheann a stór sonraí, agus fadhb ceada i gciseal amháin mar an gcéanna i gcluaisín brabhsálaí agus go hiomlán difriúil i loga an fhreastalaí. Iarr an oibríocht shonrach, ansin léigh imeacht GeoServer féin don tréimhse ama chéanna.
curl -s -o /dev/null -w '%{http_code}\n' \
"https://gis.example.com/geoserver/wms?service=WMS&version=1.3.0&request=GetCapabilities"
curl -s -o /tmp/tile.png -w '%{http_code} %{size_download}\n' \
"https://gis.example.com/geoserver/wms?service=WMS&version=1.3.0&request=GetMap&layers=corp:parcels&bbox=-13650000,4500000,-13600000,4550000&width=256&height=256&srs=EPSG:3857&format=image/png"
Cruthaíonn 200 ón dara hiarraidh le híomhá sochreidte gur fhreagair an stór sonraí. Cruthaíonn 200 le doiciméad eisceachta seirbhíse nár fhreagair, agus is gnách go n-ainmníonn téacs na heisceachta an stór seachas an cliant.
An stór sonraí a léamh ó thaobh an fhreastalaí
Liostaíonn treoir PostGIS GeoServer an méid a theastaíonn ón stór: óstach, port, bunachar sonraí agus dintiúir. Cuireann sin go léir síos ar an nasc a osclaíonn GeoServer. Ní chuireann aon rud de sin síos ar logáil isteach ón gcliant deisce. Léigh na ceithre réimse sin mar ráiteas faoi chomhthéacs líonra an fhreastalaí, agus éiríonn an rang iomlán ticéad «oibríonn sé ina gcás siúd» so-láimhseáilte.
Sin é an fáth a bhfuil localhost i stór sonraí chomh coitianta sin mar dhearmad. Ciallaíonn sé comhthéacs líonra phróiseas GeoServer féin. Má ritheann GeoServer i Docker agus PostGIS ar an óstach, localhost díríonn sé isteach sa choimeádán agus ní aimsíonn sé rud ar bith, agus ní athraíonn aon chumraíocht VPN sin.
Ar an bhfreastalaí, seiceáil an bealach, an éisteoir agus an pholasaí fíordheimhniúcháin san ord sin. Déanann fíordheimhniú óstachbhunaithe PostgreSQL an seoladh foinse a fheiceann sé a mheaitseáil, rud a fhéadfaidh geata a aistriú, mar sin is annamh a shocraíonn comhthiomsú VPN cliant sa chomhad HBA nasc ar thaobh an fhreastalaí. Tástáil mar a dhéanfadh an freastalaí: an óstach céanna, an port céanna, an t-úsáideoir céanna. Má éiríonn leis an tástáil sin agus GeoServer fós ag teip, tá an difríocht i gcomhthéacs an phróisis seachas sa bhunachar sonraí.
ip route get 10.20.5.11
ss -tnp | grep 5432
psql "host=10.20.5.11 dbname=gis user=geoserver" -c 'select 1'
Coinníonn comhthiomsuithe agus taisce staid thar athruithe
Coinníonn comhthiomsuithe nasc an stór sonraí soicéid oscailte. Ní thugann tollán a tháinig aníos uair an chloig tar éis an comhthiomsú a chruthú bealach nua don chomhthiomsú go háirithe, agus is féidir le nasc neamhghníomhach fanacht ar bhealach marbh go dtí go gcuireann bailíochtú nó teorainn ama deireadh leis. Seiceáil socruithe bailíochtaithe an stór suiteáilte in ionad téarnamh a ghlacadh leis, agus seachain an cathú an tseirbhís iomlán a atosú sula mbeidh a fhios agat cé an ciseal a theip.
Cruthaíonn taisce tíleanna íomhá scátháin na faidhbe sin: is féidir leo léarscáil atá cosúil le ceann ceart a sheirbheáil i bhfad tar éis don nasc bunachar sonraí briseadh. Scriosann glanadh na taisce chun «féachaint an gcabhraíonn sé» an t-aon phíosa fianaise a thabharfadh le fios duit cé an bealach a bhí beo.
Lámh a thabhairt ar aghaidh agus an dá fhoinse ainmnithe
Ainmníonn an cur síos a fhaigheann socrú tapa dhá rud: an t-iarratas cliant a shroich GeoServer, agus an oibríocht inneallchúil nár éirigh le GeoServer a chríochnú. Leis an dá rud, is féidir leis an úinéir ceart an bealach ar theip air a dheisiú. Leis an gcéad cheann amháin, is é an socrú nádúrtha an bunachar sonraí a nochtadh go poiblí, rud a réitíonn an ticéad trí fhadhb níos measa a chruthú.
Tabhair faoi deara an ciseal, an cód freagartha, an eisceacht ar thaobh an fhreastalaí agus an coimeádán nó an t-óstach a tháirg í. Sin ceithre líne, agus baineann sé an t-iliomadacht amach go hiomlán.