QGIS له VPN وروسته PostGIS سره ونښلوئ: ګام په ګام
QGIS د VPN شاته PostGIS یا WMS ته وګرځوئ: تونل د خدماتو له پای ټکي جلا کړئ، verify-full TLS وساتئ او هر پوله په ترتیب سره وآزمویئ.
QGIS هره هغه لار لولي چې د هغې د معلوماتو وړاندې کوونکي ورته رسېدلی شي، نو فعال VPN یوازې د ترتیباتو نیمه برخه ده. تونل ډیسکټاپ ته یوه لار او د نومونو د حل تګلاره ورکوي؛ پروژې لا هم د خدماتو پای ټکی، د وړاندې کوونکي پروتوکول او هغه اسناد پکار دي چې خدمت به یې ومني. دا درې بېلې ننوتنې دي، او د VPN عام اورېدونکی د ډیټابیس په ساحه کې لیکل د دوی هیڅ یو نه دی. دا لارښود د QGIS فورمې نه تر بیرته راغلې کرښې پورې د PostGIS یوه طبقه تعقیبوي او هغه پوله نوموي چې هر ګام یې ثبوي.
له VPN نه نه، له طبقې پیل وکړئ
هر د طبقې ډول بېل ډول پای ټکي ته رسېږي. PostGIS طبقه د کوربه، پورټ، ډیټابیس او رول سره PostgreSQL نښلون پرانیزي. WMS یا WFS طبقه د خدمت URL راوړي او بیا د وړتیاوو سند شننه کوي. د شبکې شریکېدو کې پروت shapefile یوازې د فایل هغه لار پکار ده چې عملیاتي سیستم یې پرانیستلی شي. ځکه چې دا درې بېل میکانزمونه دي، خالي پروژه تاسو ته هېڅ نه وایي تر څو پوه شئ چې کوم یو یې ډیبګ کوئ.
د GIS له آپریټر نه پای ټکی، پورټ، اړینه پېژندنه او هغه لاسرسي تګلاره وپوښتئ چې ستاسو حساب ته پلي کېږي. کله چې ځای پرځای کول خصوصي DNS یا په سند کې د نوم جاج ته تکیه وي، د خدمت کوربه نوم هماغسې وساتئ لکه څنګه چې صادر شوی. د بل کاروونکي له خوندي نښلون نه کاپي شوې کوربه پته بیا کارول هغې ماشین ته د رسېدو تر ټولو ګړندۍ لار ده چې ځواب ورکوي خو زوړ ډیټابیس لري.
لارې، اجازه شوي سرچینې او د نومونو حل د VPN چلوونکي دي. د معلوماتو سرچینې فورمه هغه لار نشي نصبولی چې د تونل پروفایل هېڅکله نه ده لېږلې، او نه کولی شي د ګېټوې تګلاره پراخه کړي. کله چې کوربه حل شي او پورټ ځواب ورکړي، د ستونزې شبکه یې خوا ختمه ده.
هغه خصوصي پای ټکی ولیکئ چې آپریټر صادر کړی
په QGIS کې PostgreSQL فورمه هغه ساحې ښیي چې libpq یې تمه لري، نو هغسې ډکه یې کړئ لکه د قوماندې کرښې نښلون چې ډکوي. خدمت او کوربه ډیټابیس ماشین اخلي، پورټ هغه اورېدونکی اخلي چې سرور واقعاً پرانیزي، او ډیټابیس د سرور د تلواله پر ځای ځانګړی کتلاګ اخلي. پټنوم په پروژې فایل کې نه، بلکې په تصدیق ترتیباتو کې وساتئ، تر څو شریکه پروژه سند ونه لري.
له هر څه لیکلو مخکې دواړه نومونه جلا کړئ. د ګېټوې نوم د VPN کلاینټ کې او د ډیټابیس نوم QGIS کې وي، او دوی لږ تر لږه یو شان کوربه وي.
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
که ډیټابیس د ګېټوې شاته په بله ماشین کې وي، په فورمه کې نوم باید هماغه ماشین وي. د تونل له لارې خصوصي DNS هماغه دی چې نوم کاري کوي، او هغه پروژه چې یوازې د نښلېدو پر مهال حل کېږي، د بد کیش کولو پر ځای سم کار کوي.
د ډیټابیس TLS حالت له تونل جلا وساتئ
په VPN محصول نوم کې SSL تونل بیانوي، نه د ډیټابیس غونډه. QGIS د PostgreSQL SSL حالت libpq ته ورکوي، او هغه حالت کنټرولوي چې کلاینټ د سرور سند تصدیق کوي که نه او په هغې کې کوربه نوم ګوري که نه. verify-fullدواړه کوي، نو کله چې سند د خدمت نوم ولري همدا حالت د ساتلو وړ دی.
حالت disable ته راکښته کول، ځکه چې تونل لا دمخه کوډ شوی، هغه جاج لرې کوي چې تاسو ورته رسېدلی سرور هغه سرور دی چې غوښتی مو و. کله چې تصدیق ناکام شي، معمول لامل د نوم ناسمون یا د ریښې سند نشتوالی دی، او دواړه پرته له دې چې نښلون کمزوری شي سمېدلی شي. sslrootcert د آپریټر خپاره کړي CA ته وګرځوئ او په فورمه کې کوربه نوم د سند له نوم سره یو شان وساتئ.
خصوصي لار لرونکی تونل او معتبر سند لرونکی ډیټابیس سره له دې هم پر رول ناکامېدلی شي. د اپلیکیشن سندونه د VPN له سندونو جلا دي، او هغه حساب چې په ګېټوې کې تصدیق شي په PostgreSQL کې هېڅ پټ حق نه لري.
هره پوله په ترتیب سره وآزمویئ او لومړنی ناکامي ولولئ
له کلاینټ نه بهر ته په ټاکلي ترتیب کار وکړئ: د نومونو حل، TCP لاسرسی، TLS، تصدیق او بیا پوښتنه پخپله. لومړنی ناکام ګام یوازینی د راپور وړ دی، او مخکې تګ د هغې پولې تېروتنې راوړي چې لا نه یاست رسېدلی. څلور قوماندې لومړني څلور ګامونه پوښي.
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
getent نه خالي ځواب د نومونو حل ستونزه ده، د ډیټابیس ستونزه نه ده. رد شوی یا وخت تېر nc یعنې لار یا firewall قاعده ورکه ده، دا د ګېټوې اړخ سمون دی. psql نه TLS تېروتنه یعنې سند یا نوم غلط دی، پداسې حال کې چې password authentication failed یعنې تاسو PostgreSQL ته رسېدلي او ستونزه په سند کې ده. د WMS طبقې لپاره، curl غږ هغه وړتیاوې XML بیرته راوړي چې QGIS به یې شننه کوله، نو په هغه وتلو کې HTML ننوتلو پاڼه خالي طبقه سمدلاسه تشریح کوي.
د وخت ختمېدو په پرتله PostgreSQL تېروتنه ښه خبر دی. دا ثبوي چې منزل ځواب ورکړ، او دا ټکټ له شبکې ټیم نه ډیټابیس یا GIS مدیر ته لېږدوي. په راپور کې دې توپیر ساتل یوه دوره خوندي کوي.
کله چې پروژه په خالي طبقو خلاصه شي
د QGIS په داخل کې، له هر څه بیا لیکلو مخکې د طبقې خوندي سرچینه وګورئ. د طبقې ځانګړنې هغه دقیق نښلون تار ښیي چې پروژې خوندي کړی، او زوړ کوربه لرونکې دوه ځله نښلون ننوتنه د پخواني دفتر شبکې عادي پاتې شونه ده. د نښلون له سمولو وروسته پروژه بیا لوډول تل وړاندې کوونکی بیا نه لولي، نو طبقه لرې کړئ او له سم شوي نښلون نه یې بیا ورزیات کړئ.
بیا ډاډ ترلاسه کړئ چې تصدیق ترتیبات هغه دي چې له طبقې سره تړلي، نه یوازې په لیست کې شته. بېل تصدیق ترتیباتو سره خوندي شوې طبقه په براوزر پینل کې په غلې ناکامېږي، په داسې حال کې چې خپلواک psql ازموینه بریالۍ وي.
کله چې طبقه لوډ شي، پروژه یوازې د فایلونو لپاره نسبي لارو سره خوندي کړئ او د خدمت نښلونونه د هغوی د پای ټکي په نوم وساتئ. بل څوک چې پروژه په میراث واخلي پرته له ټکټ خلاصولو به ووایي چې ماتې طبقې کوم کوربه تمه درلوده.