Sopọ QGIS pẹlu PostGIS lẹ́yìn VPN: ìgbésẹ̀ mọ́ ìgbésẹ̀
Darí QGIS sí PostGIS tàbí WMS lẹ́yìn VPN: ya ọ̀nà ìsọ̀ kalẹ̀ kúrò lọ́dọ̀ ipari iṣẹ́, mú TLS verify-full dúró, kí o sì dán gbogbo ààlà wò lẹ́sọ̀ọ̀sẹ̀.
QGIS ń ka ọ̀nà yóò kú lórí èyí tí àwọn olùpèsè dátà rẹ̀ lè dé. Nítorí náà VPN tí ó ń ṣiṣẹ́ jẹ́ ìdajì ìṣètò náà. Ọ̀nà ìsọ̀ kalẹ̀ ń fún ẹ̀rọ orí tábìlì ní ọ̀nà àti ìlànà ìyọjáde orúkọ; iṣẹ́ náà tún nílò ipari iṣẹ́, ìlànà olùpèsè, àti àwọn ẹ̀rí ìdánimọ̀ tí iṣẹ́ yóò gbà. Mẹ́ta ni wọ́n, ó sì yàtọ̀ sínú àwọn pápá mẹ́ta; kíkọ olùgbọ́rọ̀n gbangba VPN sínú pápá dátàbésì kì í ṣe ọ̀kan nínú wọn. Ìwé yìí tẹ̀lé ẹ̀yà PostGIS kan láti fọ́mù QGIS dé ìlà tí ó padà wá, ó sì dárúkọ ààlà tí ìgbésẹ̀ kọ̀ọ̀kan ń fi hàn.
Bẹ̀rẹ̀ láti ẹ̀yà, kì í ṣe láti VPN
Ẹ̀yà kọ̀ọ̀kan ń dé oríṣi ipari iṣẹ́. Ẹ̀yà PostGIS ń ṣí ìsopọ̀ PostgreSQL pẹ̀lú olùgbàlejò, ọ̀nà ìwọlé, dátàbésì àti ipa. Ẹ̀yà WMS tàbí WFS ń gba URL iṣẹ́, lẹ́yìn náà ó ń yẹ àkọsílẹ̀ agbára wò. Fáìlì shapefile lórí ìpín nẹ́tíwọ́kì kò nílò ju ọ̀nà fáìlì tí ẹ̀rọ ìṣiṣẹ́ lè ṣí. Nítorí pé ọ̀nà mẹ́ta ìyàtọ̀ ni wọ́n, iṣẹ́ òfo kò sọ ohunkóhun fún ọ títí ìwọ yóò fi mọ èyí tí ìwọ ń ṣàtúnṣe.
Bèèrè lọ́wọ́ olùṣiṣẹ́ GIS nípa ipari iṣẹ́, ọ̀nà ìwọlé, ìdánimọ̀ tí a nílò àti ìlànà àǹfààní tí ó kan àkọsílẹ̀ rẹ. Mú orúkọ olùgbàlejò iṣẹ́ dúró gẹ́gẹ́ bí wọ́n ti gbé e jáde nígbà tí ìgbékalẹ̀ náà bá sinmi lórí DNS àdáni tàbí àyẹ̀wò orúkọ nínú ẹ̀rí. Lílò àdírẹ́sì olùgbàlejò tí a dà jáde láti ìsopọ̀ tí a fipamọ́ ti ẹlòmíràn ni ọ̀nà tí ó yá jù láti dé ẹ̀rọ tí ó ń dáhùn ṣùgbọ́n tí ó ní dátàbésì àtijọ́.
Àwọn ọ̀nà, àwọn ohun àmúyẹ tí a gbà láàyè àti ìyọjáde orúkọ jẹ́ ti ẹni tí ó ń darí VPN. Fọ́mù orísun dátà kò lè fi ọ̀nà tí prófáìlì ọ̀nà ìsọ̀ kalẹ̀ kò tíì rán sílẹ̀ rí, kò sì lè mú ìlànà ẹnubodè gbòòrò. Nígbà tí olùgbàlejò bá yọjáde tí ọ̀nà ìwọlé sì dáhùn, ẹ̀gbẹ́ nẹ́tíwọ́kì ìṣòro náà ti parí.
Tẹ ipari iṣẹ́ àdáni tí olùṣiṣẹ́ gbé jáde
Fọ́mù PostgreSQL nínú QGIS ń ṣàfihàn àwọn pápá tí libpq ń retí, nítorí náà kún un ní ọ̀nà kan náà tí ìsopọ̀ ìlà àṣẹ yóò gbà. Iṣẹ́ àti olùgbàlejò ń gba ẹ̀rọ dátàbésì, ọ̀nà ìwọlé ń gba olùgbọ́rọ̀n tí sáfà ń ṣí ní ti gidi, dátàbésì sì ń gba àkójọ pàtó dípò ìpilẹ̀ sáfà. Tọ́jú ọ̀rọ̀ ìkọ̀kọ̀ nínú ìṣètò ìjẹ́rìí, kì í ṣe nínú fáìlì iṣẹ́, kí iṣẹ́ tí a pín kí ó má gbé ẹ̀rí ìdánimọ̀.
Ya orúkọ méjèèjì kúrò ní ọ̀nà ara wọn kí o tó tẹ ohunkóhun. Orúkọ ẹnubodè wà nínú ẹ̀rọ ìbánisọ̀rọ̀ VPN, orúkọ dátàbésì wà nínú QGIS, wọ́n sì kì í sábà jẹ́ olùgbàlejò kan.
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
Tí dátàbésì bá wà lórí ẹ̀rọ mìíràn lẹ́yìn ẹnubodè, orúkọ nínú fọ́mù gbọ́dọ̀ jẹ́ ẹ̀rọ yẹn. DNS àdáni nipasẹ ọ̀nà ìsọ̀ kalẹ̀ ni ó ń mú orúkọ ṣiṣẹ́, iṣẹ́ tí ó ń yọjáde nìkan nígbà tí o bá so mọ́ kì í ṣe kíkóṣẹ́ búburú, ó ń hùwà tọ́.
Mú ipò TLS dátàbésì yàtọ̀ sí ọ̀nà ìsọ̀ kalẹ̀
SSL nínú orúkọ ọjà VPN ń ṣàpèjúwe ọ̀nà ìsọ̀ kalẹ̀, kì í ṣe ìpàdé dátàbésì. QGIS ń fi ipò SSL PostgreSQL fún libpq, ipò yẹn sì ń ṣàkóso bóyá ẹ̀rọ ìbánisọ̀rọ̀ ń jẹ́rìí ẹ̀rí sáfà àti bóyá ó ń yẹ orúkọ olùgbàlejò inú rẹ̀ wò. verify-fullń ṣe méjèèjì, ìdí nìyẹn tí ó fi jẹ́ ipò tí ó yẹ kí a tọ́jú nígbà tí ẹ̀rí bá gbé orúkọ iṣẹ́.
Sísọ ipò náà kalẹ̀ sí disable nítorí pé ọ̀nà ìsọ̀ kalẹ̀ ti jẹ́ ìkọ̀kọ̀ yóò yọ àyẹ̀wò náà kúrò pé sáfà tí o dé ni sáfà tí o béèrè. Nígbà tí ìjẹ́rìí bá kùnà, ìdí tí ó wọ́pọ̀ ni àìbáramu orúkọ tàbí ẹ̀rí gbòǹgbò tí ó sọnù, a sì lè tún méjèèjì ṣe láìsí díẹ̀ kí ìsopọ̀ di aláìlera. Darí sslrootcert sí CA tí olùṣiṣẹ́ ń gbé jáde àti mú orúkọ olùgbàlejò nínú fọ́mù dọ́gba pẹ̀lú orúkọ inú ẹ̀rí.
Ọ̀nà ìsọ̀ kalẹ̀ tí ó ní ọ̀nà àdáni àti dátàbésì tí ó ní ẹ̀rí tí ó wúlò lè ṣì kùnà lórí ipa. Ẹ̀rí ìdánimọ̀ ohun èlò yàtọ̀ sí ti VPN, àkọsílẹ̀ tí a jẹ́rìí ní ẹnubodè kò sì ní ẹ̀tọ́ àṣírí kankan nínú PostgreSQL.
Dán gbogbo ààlà wò lẹ́sọ̀ọ̀sẹ̀ kí o sì ka ìkùnà àkọ́kọ́
Ṣiṣẹ́ láti ẹ̀rọ ìbánisọ̀rọ̀ sí ìta ní ìtòlẹ́sẹẹsẹ tí ó dúró: ìyọjáde orúkọ, ìdé TCP, TLS, ìjẹ́rìí, lẹ́yìn náà ìbéèrè fúnra rẹ̀. Ìgbésẹ̀ àkọ́kọ́ tí ó kùnà ni ọ̀kan ṣoṣo tí ó yẹ kí a jábọ̀ rẹ̀, gbígbé síwájú sì ń mú àwọn ìfiránṣẹ́ àṣìṣe wá láti ààlà tí ìwọ kò tíì dé. Àwọn àṣẹ mẹ́rin ń bo àwọn ìgbésẹ̀ mẹ́rin àkọ́kọ́.
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
Ìdáhùn òfo láti getent jẹ́ ìṣòro ìyọjáde orúkọ, kì í ṣe ìṣòro dátàbésì. nc tí a kọ̀ tàbí tí àkókò rẹ̀ ti tán ń túmọ̀ sí pé ọ̀nà tàbí ìlànà firewall kan sọnù, èyí tí ó jẹ́ àtúnṣe ní ẹ̀gbẹ́ ẹnubodè. Àṣìṣe TLS láti psql ń túmọ̀ sí pé ẹ̀rí tàbí orúkọ kò tọ́, nígbà tí password authentication failed ń túmọ̀ sí pé o ti dé PostgreSQL, ìṣòro sì wà nínú ẹ̀rí ìdánimọ̀. Fún ẹ̀yà WMS, ìpè curl ń da XML agbára padà tí QGIS yóò yẹ wò, nítorí náà ojú-ìwé ìwọlé HTML nínú ìjáde yẹn ń ṣàlàyé ẹ̀yà òfo lẹ́sẹ̀kẹsẹ̀.
Àṣìṣe PostgreSQL jẹ́ ìròyìn dàradára ní ìfiwéra pẹ̀lú àkókò tí ó tán. Ó fi hàn pé ibi tí a ń lọ ti dáhùn, èyí tí ó ń gbé tíkẹ́ẹ̀tì láti ẹgbẹ́ nẹ́tíwọ́kì sí olùdarí dátàbésì tàbí GIS. Mímú ìyàtọ̀ yẹn dúró nínú ìjábọ̀ ń dá àyíká kan sí.
Nígbà tí iṣẹ́ bá ṣí pẹ̀lú àwọn ẹ̀yà òfo
Nínú QGIS, yẹ orísun tí a fipamọ́ ti ẹ̀yà wò kí o tó tún tẹ ohunkóhun. Àwọn ànímọ́ ẹ̀yà ń fi okùn ìsopọ̀ pàtó tí iṣẹ́ fipamọ́ hàn, àti àkọsílẹ̀ ìsopọ̀ olóògbé pẹ̀lú olùgbàlejò àtijọ́ jẹ́ àṣẹ́kù tí ó wọ́pọ̀ láti nẹ́tíwọ́kì ọ́fíìsì àtẹ̀yìnwá. Gbígbé iṣẹ́ padà lẹ́yìn àtúnṣe ìsopọ̀ kì í sábà ka olùpèsè padà, nítorí náà yọ ẹ̀yà kúrò kí o sì tún fi kún un láti ìsopọ̀ tí a tún ṣe.
Lẹ́yìn náà jẹ́rìí pé ìṣètò ìjẹ́rìí ni èyí tí a so mọ́ ẹ̀yà, kì í ṣe èyí tí ó wà nínú àkọ́lé nìkan. Ẹ̀yà tí a fipamọ́ pẹ̀lú ìṣètò ìjẹ́rìí mìíràn ń kùnà ní ìdákẹ́jẹ́ nínú pánẹ́ẹ̀lì aṣàwákiri nígbà tí ìdánwò psql olómìnira ń yọjáde.
Nígbà tí ẹ̀yà bá gbé wọlé, fipamọ́ iṣẹ́ pẹ̀lú àwọn ọ̀nà ìbáradé fún àwọn fáìlì nìkan, kí o sì mú àwọn ìsopọ̀ iṣẹ́ dúró pẹ̀lú orúkọ ipari iṣẹ́ wọn. Ẹni tí ó kan tẹ̀lé yóò lè sọ olùgbàlejò tí ẹ̀yà tí ó ti bàjẹ́ ń retí láìsí ṣíṣí tíkẹ́ẹ̀tì.