Mae allforio SSRS yn methu drwy borth VPN heb gleient: beth sy’n wahanol
Mae tudalen yr adroddiad yn profi rendro, nid allforio. Dilynwch y cais allforio drwy’r porth, cymharwch benawdau a chorff, yna cyfyngwch unrhyw eithriad yn dynn.
Mae’r adroddiad yn agor yn y porwr, mae’r paramedrau’n rendro, ac mae’r botwm allforio’n cynhyrchu gwall, lawrlwythiad gwag, neu ffeil y mae’r daenlen yn gwrthod ei hagor. Mae gan y cyfuniad hwnnw siâp safonol. Mae tudalen adroddiad sy’n gweithio wedi profi rendro a dilysu, a dim byd arall. Mae’r allbwn yn gais ar wahân gyda’i ymateb ei hun, ac drwy borth heb gleient mae hefyd yn croesi haen ailysgrifennu na chafodd ei chynllunio erioed ar gyfer lawrlwytho ffeiliau.
Dau lwybr, un dudalen sy’n gweithio
Mae rendro ac allforio’n wahanol weithrediadau hyd yn oed pan fyddant yn dechrau o’r un botwm. Mae gweinydd yr adroddiad yn rendro’r dudalen ar gyfer porwr ac yn paratoi’r allbwn drwy estyniad allbwn gwahanol gyda’i fath cynnwys ei hun a’i ymddygiad gwall ei hun, fel y mae’r dogfennau allforio yn ei ddisgrifio. Gall porth sy’n pasio’r cyntaf yn berffaith o hyd gamgymryd yr ail, oherwydd ymateb yw’r ail na ddisgwyliodd y porth ei weld. Mae’r ddau’n rhannu sesiwn a chyfeiriad, a bron dim byd arall.
Triniwch y dudalen sy’n gweithio fel tystiolaeth am ddilysu a chyrraedd yn unig. Mae’n profi y gall y cyfrif gyrraedd gweinydd yr adroddiad ac y bydd y porth yn trosglwyddo HTML. Nid yw’n dweud dim am ymatebion ffeiliau, penawdau lleoliad cynnwys, na chyfeiriadau sy’n gorffen mewn lawrlwythiad yn hytrach na dogfen.
Dyna’r rheswm cyfan dros gymharu’r llwybr allforio ar ei ben ei hun yn hytrach nag ailbrofi’r dudalen sy’n gweithio’n barod. Mae dau gais sy’n rhannu sesiwn o hyd yn ddau gais.
Tri amod sy’n penderfynu ble mae’r allbwn yn torri
Mae tri chwestiwn yn lleoli’r nam yn gyflym, ac mae pob ateb yn cyfeirio at berchennog gwahanol.
Yn gyntaf, a yw’r un adroddiad, cyfrif a fformat yn allforio’n gywir o’r rhwydwaith mewnol? Os ydynt, mae gweinydd yr adroddiad a’i rendrwr yn iawn a’r gwahaniaeth yn y llwybr mynediad. Yn ail, a yw’r ymateb sy’n methu’n cario math cynnwys ffeil, neu dudalen HTML yn gwisgo estyniad ffeil? Mae hynny’n gwahanu gwall rendrwr oddi wrth amnewidiad gan y porth. Yn drydydd, a yw’r porth yn ailysgrifennu URL y cais neu’n tynnu penawdau o’r ymateb? Gall URL wedi’i ailysgrifennu lanio ar bwynt terfyn hollol wahanol.
Atebwch y tri chwestiwn cyn newid unrhyw osodiad, oherwydd mae gan bob un wahanol iachâd. Mae nam rendrwr yn perthyn i weinydd yr adroddiad, mae corff wedi’i amnewid yn perthyn i’r porth, ac mae pennawd wedi’i dynnu’n gwestiwn polisi, nid nam.
Ysgrifennwch yr atebion. Mae achos cymorth wedi’i adeiladu o’r tair llinell hynny’n werth deg sgrinlun.
Darllenwch ymateb yr allbwn, nid y cod statws
Mae statws HTTP llwyddiannus yn profi dim ond bod rhywbeth wedi ateb y cais. Archwiliwch y corff a’r penawdau gyda’i gilydd, oherwydd y nam diddorol yw ymateb llwyddiannus sy’n cario’r cynnwys anghywir.
curl -sS -D export.headers -o export.bin --location "https://portal.example.com/reports/export?format=xlsx"
file export.bin
head -c 300 export.bin
Mae’r dump penawdau’n dangos y math cynnwys ac unrhyw leoliad cynnwys a ddychwelodd y porth. Mae’r gorchymyn file yn nodi beth yw’r corff mewn gwirionedd, ac mae ffeil testun lle disgwylid taenlen yn y dudalen fewngofnodi amnewidiol glasurol. Mae’r gorchymyn head yn dangos digon i adnabod HTML heb arllwys adroddiad cyfan i derfynell.
Tynnwch gwcis sesiwn a thocynnau cyn rhannu unrhyw ran ohono. Mae cipiad o allbwn sy’n gweithio’n dystiolaeth ddefnyddiol, ac mae cipiad o sesiwn sy’n perthyn i rywun arall yn ddigwyddiad.
Cyfyngwch eithriad i’r cymhwysiad, nid i’r cyfrif
Os yw’r porth yn ailysgrifennu neu’n blocio’r ymateb, yr atgyweiriad temtasiwn yw eithrio’r safle cyfan neu wneud yr adroddiad yn anhysbys. Mae’r ddau yn trwsio’r lawrlwythiad ac yn dileu’r rheswm dros fodolaeth y porth. Mae eithriad wedi’i gyfyngu’n enwi un llwybr cymhwysiad, un math cynnwys ac un cyfeiriad, ac mae’n parhau’n adolygadwy gan bwy bynnag sy’n berchen ar y polisi.
Defnyddiwch y fersiwn giât rydych chi’n ei redeg mewn gwirionedd a’i osodiadau cymhwysiad dogfenedig. Nid yw opsiwn y disgrifiodd gwerthwr unwaith fel un sy’n gadael traffig heb ei newid yn gyfarwyddyd cyffredinol, ac mae copïo o hen edefyn fforwm yn ffordd i eithriad dros dro ddod yn bensaernïaeth barhaol.
Os na ellir cyfyngu’r eithriad mor dynn, mae’n debyg bod yr allbwn yn perthyn i’r llwybr mewnol gyda dull mynediad gwahanol yn hytrach nag y tu ôl i’r porth. Mae eithriad safle cyfan yn benderfyniad i berchennog y porth, nid yn ffordd o osgoi ar gyfer un adroddiad.
Derbyniwch yr allbwn, nid y deialog Cadw
Y prawf olaf yw’r ffeil ei hun: mae’n agor, mae’n dal y colofnau disgwyliedig, ac mae ei chyfansymiau’n cyfateb i’r adroddiad a gymeradwywyd gan y defnyddiwr.
Nid yw deialog Cadw yn ymddangos yn llwyddiant, ac nid yw ffeil sy’n agor â rhybudd atgyweirio yn llwyddiant chwaith. Cymharwch gyfrif rhesi ac un gwerth hysbys â’r adroddiad ar y sgrin, oherwydd mae allbwn wedi’i dorri’n pasio pob prawf sy’n edrych ar faint y ffeil yn unig. Yna allforiwch eilwaith, oherwydd gall haen gache sy’n gwasanaethu’r corff anghywir unwaith wasanaethu’r un cywir ar yr ymgais nesaf.
Derbyniwch y llif gwaith roedd y defnyddiwr ei angen, a dim llai na hynny. Mae lawrlwythiad sy’n agor yn y cymhwysiad anghywir o hyd yn allbwn wedi methu.