VPN-ന് പിന്നിലെ QGIS-നെ PostGIS-ലേക്ക് ബന്ധിപ്പിക്കുക: ഘട്ടം ഘട്ടമായി
VPN-ന് പിന്നിലുള്ള PostGIS അല്ലെങ്കിൽ WMS-ലേക്ക് QGIS ചൂണ്ടിക്കാണിക്കുക: ടണൽ സേവന എൻഡ്പോയിന്റിൽ നിന്ന് വേർതിരിക്കുക, 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 കോൾ QGIS വിശകലനം ചെയ്യുമായിരുന്ന കഴിവുകളുടെ XML തിരികെ നൽകുന്നു, അതിനാൽ ആ ഔട്ട്പുട്ടിലെ HTML ലോഗിൻ പേജ് ശൂന്യമായ ലേയർ തൽക്ഷണം വിശദീകരിക്കുന്നു.
സമയപരിധിയുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ PostgreSQL പിശക് നല്ല വാർത്തയാണ്. ലക്ഷ്യം ഉത്തരം നൽകിയെന്ന് അത് തെളിയിക്കുന്നു, ഇത് ടിക്കറ്റ് നെറ്റ്വർക്ക് ടീമിൽ നിന്ന് ഡാറ്റാബേസ് അല്ലെങ്കിൽ GIS അഡ്മിനിസ്ട്രേറ്ററിലേക്ക് മാറ്റുന്നു. റിപ്പോർട്ടിൽ ആ വ്യത്യാസം നിലനിർത്തുന്നത് ഒരു റൗണ്ട് ലാഭിക്കുന്നു.
പ്രോജക്ട് ശൂന്യമായ ലേയറുകളോടെ തുറക്കുമ്പോൾ
QGIS-നുള്ളിൽ, എന്തെങ്കിലും വീണ്ടും നൽകുന്നതിന് മുമ്പ് ലേയറിന്റെ സംരക്ഷിത ഉറവിടം പരിശോധിക്കുക. ലേയർ ഗുണങ്ങൾ പ്രോജക്ട് സംരക്ഷിച്ച കൃത്യമായ കണക്ഷൻ സ്ട്രിംഗ് കാണിക്കുന്നു, കൂടാതെ പഴയ ഹോസ്റ്റുള്ള ഇരട്ട കണക്ഷൻ എൻട്രി മുൻ ഓഫീസ് നെറ്റ്വർക്കിന്റെ സാധാരണ ശേഷിപ്പാണ്. കണക്ഷൻ ശരിയാക്കിയ ശേഷം പ്രോജക്ട് വീണ്ടും ലോഡ് ചെയ്യുന്നത് എപ്പോഴും ദാതാവിനെ വീണ്ടും വായിക്കുന്നില്ല, അതിനാൽ ലേയർ നീക്കി ശരിയാക്കിയ കണക്ഷനിൽ നിന്ന് വീണ്ടും ചേർക്കുക.
പിന്നീട് ഓതന്റിക്കേഷൻ കോൺഫിഗറേഷൻ പട്ടികയിൽ മാത്രമല്ല, ലേയറിനോട് ഘടിപ്പിച്ചതാണെന്ന് ഉറപ്പാക്കുക. മറ്റൊരു ഓതന്റിക്കേഷൻ കോൺഫിഗറേഷനോടെ സംരക്ഷിച്ച ലേയർ ബ്രൗസർ പാനലിൽ നിശബ്ദമായി പരാജയപ്പെടുന്നു, സ്വതന്ത്രമായ psql പരിശോധന വിജയിക്കുമ്പോൾ.
ലേയർ ലോഡ് ചെയ്യുമ്പോൾ, പ്രോജക്ട് ഫയലുകൾക്ക് മാത്രം ആപേക്ഷിക പാതകളോടെ സംരക്ഷിക്കുക, സേവന കണക്ഷനുകൾ അവയുടെ എൻഡ്പോയിന്റിന്റെ പേരിൽ നിലനിർത്തുക. പ്രോജക്ട് പിന്തുടർച്ചയായി ലഭിക്കുന്ന അടുത്ത വ്യക്തിക്ക് ടിക്കറ്റ് തുറക്കാതെ തകർന്ന ലേയർ ഏത് ഹോസ്റ്റ് പ്രതീക്ഷിച്ചിരുന്നുവെന്ന് പറയാനാകും.