Mae’r dangosfwrdd yn agor yn iawn yn y porwr ar y gliniadur, ond mae’r un sgript taenlen yn methu â gwall cyfeiriad anghyraeddadwy. Nid yw troi’r VPN ymlaen neu i ffwrdd yn newid dim, oherwydd nid yw’r cais byth yn gadael y gliniadur o gwbl. Mae Apps Script yn gweithredu ar seilwaith Google ac yn agor ei gysylltiad ei hun oddi yno. Mae’r ffaith unigol honno’n penderfynu’r cynllun cyfan.

Gwahanwch ddau gwestiwn cyn newid unrhyw beth: pa beiriant sy’n anfon y cais, a pha dystlythyr y mae’r derbynnydd yn ei dderbyn.

Nid yw’r cais byth yn dechrau ar eich gliniadur

Mae tab porwr yn anfon o’r gliniadur, trwy addasydd VPN, ôl-ddodiad DNS mewnol ac i mewn i’r is-rwydwaith preifat. Mae UrlFetchApp yn anfon o westeiwr sy’n cael ei reoli gan Google, felly mae’n gweld datryswyr Google, cyfeiriadau allanfa Google ac nid un o’ch llwybrau tiwnel hollt. Mae’r ddau lwybr yn rhannu dogfen daenlen, nid lleoliad rhwydwaith. Yn log mynediad y rhaglen, mae ymgais y sgript yn ymddangos fel cyfeiriad Google yn hytrach na chyfeiriad cronfa VPN, a dyma’r cadarnhad cyflymaf y byddwch yn ei gael.

Dyna pam nad yw trwsiadau lleol yn gwneud dim. Mae cyfeirio’r gliniadur at ddatryswr arall, ailgychwyn y cleient VPN neu ychwanegu cofnod hosts yn newid llwybr y porwr ac yn gadael llwybr y sgript yn union fel yr oedd.

Beth mae hynny’n ei eithrio

Ni ellir cyrraedd pwynt terfyn mewnol yn unig o Apps Script, ac mae’r rhestr gyfeiriadau IP a ganiateir yn ddirprwy wan am reolaeth mynediad yn y swydd hon. Mae amrediadau allanfa Google yn eang, yn cael eu rhannu â chwsmeriaid eraill ac yn amhosibl eu clymu i un sgript. Mae cyfeirnod UrlFetchApp yn nodi bod ceisiadau’n tarddu o gronfa IP Google, sef y fersiwn awdurdodol o’r honiad hwnnw. Mae agor y rhaglen fewnol i’r amrediadau hynny’n derbyn traffig na allwch ei phriodoli.

Mae sesiynau porwr yn ymddwyn yr un ffordd. Nid yw cwci na sesiwn SSO ym mhorwr y gliniadur yn teithio gyda’r cais, sef cleient HTTPS newydd heb unrhyw gyflwr sesiwn. Mae unrhyw beth sy’n dibynnu ar ailgyfeiriad SSO porwr yn gorffen ar yr ailgyfeiriad hwnnw yn lle ar eich data.

Dau siâp y gellir eu gweithredu

Mae’r siâp cyntaf yn rhoi API cymeradwy i’r sgript. Cyhoeddwch y gwasanaeth mewnol y tu ôl i borth sy’n dilysu’r galwr, yna gadewch i’r sgript gyflwyno tystlythyr y mae’r porth yn ei dderbyn, fel tocyn cyfrif gwasanaeth. Yn Apps Script mae hynny’n golygu llyfrgell OAuth2 neu ScriptApp.getOAuthToken(), ynghyd â rhestr hunaniaethau galwyr a ganiateir ar ochr yr API yn hytrach na rhestr IP.

Mae’r ail siâp yn gwrthdroi’r cyfeiriad. Mae tasg fewnol yn holi’r system breifat ac yn cyhoeddi canlyniad rheoledig i Sheet, gwrthrych Cloud Storage neu dabl BigQuery y mae’r sgript yn ei ddarllen. Gall tasg Cloud Run, trefnydd lleol neu gam ETL sy’n bodoli eisoes fod y dasg honno, ac nid oes angen i’r un ohonynt dderbyn cysylltiad i mewn. Yna mae’r daenlen yn defnyddio set ddata yn lle rhyngwyneb.

Mae pa siâp sy’n ennill yn dibynnu ar ffresni, rheolaeth ar lefel maes, a phwy sy’n gorfod gallu archwilio’r darllenydd.

Beth yw rhaid i’r canlyniad cyhoeddedig ei gynnwys

Mae angen contract penodol ar ffrwd gyfeiriad gwrthdro: y meysydd y mae’n eu cario, yr interfal adnewyddu, y grŵp darllenwyr, a beth sy’n digwydd pan fydd y dasg fewnol yn methu. Heb y pedwar hynny, mae’r daenlen yn dangos ffigurau ddoe yn dawel. Ychwanegwch golofn stamp amser a gynhyrchwyd a chyfrif rhesi fel bod cyhoeddiad hen neu rannol yn weladwy yn y daenlen ei hun, heb i unrhyw un agor log.

Mae angen contract ar gyfeiriad yr API hefyd: pa dystlythyr y mae’r porth yn ei dderbyn, pa scopes y mae’r tocyn yn eu cario, a pha hunaniaethau galwyr a ganiateir. Nid yw ymateb 200 sy’n cynnwys tudalen mewngofnodi yn alwad lwyddiannus, felly gwiriwch y corff ac nid y cod statws yn unig.

Darllenwch y gwall o’r ochr gywir

Mae Apps Script yn adrodd gwesteiwr anghyraeddadwy fel eithriad cyfeiriad anghyraeddadwy, nad yw’n neges cysylltiad a wrthodwyd y porwr. Mae 403 o’r porth yn golygu bod y cais wedi cyrraedd ac y gwrthodwyd tystlythyr neu bolisi. Mae tudalen mewngofnodi HTML yn golygu bod y cais wedi cyrraedd haen ryngweithiol na all sgript ei chwblhau. Tri methiant gwahanol gyda thri pherchennog gwahanol.

Cadwch log y sgript wrth ymyl canlyniad y porwr yn hytrach na disodli’r naill â’r llall. Yna mae’r cwestiwn sy’n weddill yn benderfyniad integreiddio cyffredin: rhowch i’r amgylchedd hwnnw’r mynediad y mae ei angen, neu ddanfonwch ganlyniad rheoledig iddo.

Erthyglau cysylltiedig