O ṣí Layer nínú QGIS, ó sì farahàn. Ẹlẹ́gbẹ́ kan lórí VPN kan náà gba àṣìṣe fún Layer kan náà. Ẹnìkan parí pé VPN ti bàjẹ́, wákàtí tó tẹ̀le náà sì lọ sí gbígbé ibi ìpamọ́ dátà tàbí ṣíṣí ibùdókọ̀ tí kò tíì nílò rárá. Ìbéèrè láti orí tábìlì àti ìbéèrè tí GeoServer fi ránṣẹ́ sí PostGIS ń jáde láti ẹ̀rọ ọ̀tọ̀ọ̀tọ̀, nínú ààyè orúkọ nẹ́tíwọ́kì ọ̀tọ̀ọ̀tọ̀, pẹ̀lú ẹ̀rí ìwọlé ọ̀tọ̀ọ̀tọ̀. Pípín àwọn ọ̀nà méjèèjì yẹn ni èyí tó pọ̀ jù nínú àyẹ̀wò.

Ìsopọ̀ méjì, orísun méjì

QGIS  ->  client's permitted path (often the VPN)  ->  GeoServer listener
GeoServer -> server's permitted path  ->  PostGIS listener

Ọfà kejì kò jogún ọ̀nà abẹ́lẹ̀ kọ̀mpútà kìíní. GeoServer nínú àpótí kan ní àkójọpọ̀ nẹ́tíwọ́kì ti àpótí, kì í ṣe ti olùgbàlejò, àpótí kan lórí nẹ́tíwọ́kì afárá sì lè dé ibi ìpamọ́ dátà tí olùgbàlejò kò dé, tàbí ìdàkejì. Nítorí náà olùmúlò kan náà lè ṣàṣeyọrí àti kùnà nínú ìpàdé kan, dáradára bóyá ìdáhùn wá láti káṣì tàbí láti ìbéèrè tuntun.

What you testedWhat it proves
Portal page or GetCapabilitiesHTTP reachability to GeoServer only
A tile served from cachenothing about the database
GetMap for an uncached layera datastore query had to happen

Wá ìgbésẹ̀ tó kùnà ní ti gidi

Ìkọ̀sílẹ̀ ní ìpele iṣẹ́, ìbéèrè àwòrán tí kò dé ibi ìpamọ́ dátà rẹ̀, àti ìṣòro àṣẹ nínú Layer kan máa ń dà bíi ti ara wọn nínú taabu aṣàwákiri ṣùgbọ́n wọ́n yàtọ̀ pátápátá nínú àkọsílẹ̀ olùpèsè. Beèrè fún iṣẹ́ pàtó náà, kí o sì ka ìṣẹ̀lẹ̀ GeoServer fúnra rẹ̀ fún àmi àkókò kan náà.

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"

200 láti ìbéèrè kejì pẹ̀lú àwòrán tó bọ́gbọ́n mu ń fi hàn pé ibi ìpamọ́ dátà ti dáhùn. 200 pẹ̀lú ìwé ìyọkùn iṣẹ́ ń fi hàn pé kò dáhùn, àti pé ọ̀rọ̀ ìyọkùn máa ń dárúkọ ibi ìpamọ́ ju alátìlẹ́yìn lọ.

Ka ibi ìpamọ́ dátà láti ẹ̀gbẹ́ olùpèsè

Ìwé ìtọ́kasí PostGIS ti GeoServer ṣe àkójọ ohun tí ibi ìpamọ́ nílò: olùgbàlejò, ibùdókọ̀, ibi ìpamọ́ dátà àti ẹ̀rí ìwọlé. Gbogbo ìwọ̀nyí ń ṣàpèjúwe ìsopọ̀ tí GeoServer ń ṣí. Kò sí ọ̀kan nínú wọn tó ṣàpèjúwe ìwọlé láti alátìlẹ́yìn orí tábìlì. Ka àwọn pápá mẹ́rin wọ̀nyí gẹ́gẹ́ bí gbólóhùn nípa ipò nẹ́tíwọ́kì olùpèsè, gbogbo ẹ̀ka tíkẹ́ẹ̀tì «ó ń ṣiṣẹ́ lọ́dọ̀ wọn» yóò sì di èyí tí a lè yanjú.

Ìdí nìyẹn tí localhost nínú ibi ìpamọ́ dátà fi jẹ́ àṣìṣe tó wọ́pọ̀ bẹ́ẹ̀. Ó túmọ̀ sí ipò nẹ́tíwọ́kì ti ìlànà GeoServer fúnra rẹ̀. Tí GeoServer bá ń ṣiṣẹ́ nínú Docker nígbà tí PostGIS ń ṣiṣẹ́ lórí olùgbàlejò, localhost ń tọ́ka sí inú àpótí kò sì rí nǹkan kan, kò sì sí ìṣètò VPN kankan tó ń yí ìyẹn padà.

Lórí olùpèsè, ṣàyẹ̀wò ọ̀nà, olùgbọ́rọ̀ àti ìlànà ìjẹ́rìí ní ọ̀nà yẹn. Ìjẹ́rìí PostgreSQL tó dá lórí olùgbàlejò ń fi àdírẹ́sì orísun tó rí wé, tí ẹnubodè lè túmọ̀, nítorí náà fífi àkójọ VPN alátìlẹ́yìn kún fáìlì HBA kì í sábà tún ìsopọ̀ ẹ̀gbẹ́ olùpèsè ṣe. Dánwò bí olùpèsè yóò ṣe: olùgbàlejò kan náà, ibùdókọ̀ kan náà, olùmúlò kan náà. Tí ìdánwò yẹn bá ṣàṣeyọrí nígbà tí GeoServer ṣì ń kùnà, ìyàtọ̀ wà nínú ipò ìlànà kì í ṣe nínú ibi ìpamọ́ dátà.

ip route get 10.20.5.11
ss -tnp | grep 5432
psql "host=10.20.5.11 dbname=gis user=geoserver" -c 'select 1'

Àwọn àkójọ àti káṣì ń pa ipò mọ́ la àwọn ìyípadà kọjá

Àwọn àkójọ ìsopọ̀ ibi ìpamọ́ dátà ń pa àwọn sọ́kẹ́ẹ̀tì mọ́ ní ṣíṣí. Ọ̀nà abẹ́lẹ̀ tó jáde wákàtí kan lẹ́yìn tí a ṣẹ̀dá àkójọ kò ní fún àkójọ ní ọ̀nà tuntun dandan, ìsopọ̀ aláìṣiṣẹ́ sì lè jókòó lórí ọ̀nà tó kú títí ìjẹ́rìí tàbí àkókò ìparí yóò fi pa á. Ṣàyẹ̀wò àwọn ìṣètò ìjẹ́rìí ti ibi ìpamọ́ tó wà lórí ẹ̀rọ dípò ríronú pé yóò bọ́sí, kí o sì yẹra fún ìfẹ́ ọkàn láti tún gbogbo iṣẹ́ náà bẹ̀rẹ̀ kí o tó mọ Layer wo ló kùnà.

Àwọn káṣì tílì ń ṣẹ̀dá àwòrán dígí ti ìṣòro yẹn: wọ́n lè fi máàpù tó dà bíi tó tọ́ jáde pẹ́ẹ́kíẹ́ lẹ́yìn tí ìsopọ̀ ibi ìpamọ́ dátà ti já. Pípa káṣì nù láti «wo bóyá ó ń ràn ọ́ lọ́wọ́» ń pa ẹ̀rí kan ṣoṣo tó ìbá sọ fún ọ ọ̀nà wo ló wà lárọ̀ọ́wọ́tó.

Fi lé lọ́wọ́ pẹ̀lú dídárúkọ orísun méjèèjì

Àpèjúwe tó ń gba àtúnṣe kíákíá ń dárúkọ nǹkan méjì: ìbéèrè alátìlẹ́yìn tó dé GeoServer, àti iṣẹ́ ẹ̀yìn tí GeoServer kò lè parí. Pẹ̀lú méjèèjì, olówó tó yẹ lè tún ọ̀nà tó kùnà ṣe. Pẹ̀lú èkíní nìkan, àtúnṣe àdánidá ni fífi ibi ìpamọ́ dátà hàn gbangba, èyí tó ń yanjú tíkẹ́ẹ̀tì náà nípa dídá ìṣòro tó burú jù.

Ṣàkọsílẹ̀ Layer, kóòdù ìdáhùn, ìyọkùn ẹ̀gbẹ́ olùpèsè àti àpótí tàbí olùgbàlejò tó ṣẹ̀dá rẹ̀. Ìwọ̀nyẹn jẹ́ ìlà mẹ́rin, wọ́n sì ń mú àìdánilójú kúrò pátápátá.

Àwọn àpilẹ̀kọ tó jọra