Экспарт SSRS не праходзіць праз VPN-партал без кліента: у чым розніца
Старонка справаздачы даказвае візуалізацыю, а не экспарт. Прасачыце за запытам экспарту праз партал, параўнайце загалоўкі і цела, потым абмяжуйце любое выключэнне вузка.
Справаздача адкрываецца ў браўзеры, параметры адлюстроўваюцца, а кнопка экспарту выдае памылку, пустое спампоўванне або файл, які табліца адмаўляецца адкрываць. Гэтая камбінацыя мае стандартную форму. Працаздольная старонка справаздачы правярала візуалізацыю і аўтэнтыфікацыю, і больш нічога. Экспарт — гэта асобны запыт са сваім адказам, і праз партал без кліента ён таксама праходзіць праз пласт перазапісу, які ніколі не ствараўся для спампоўкі файлаў.
Два шляхі, адна працаздольная старонка
Візуалізацыя і экспарт — розныя аперацыі, нават калі яны пачынаюцца з адной кнопкі. Сервер справаздач візуалізуе старонку для браўзера і рыхтуе экспарт праз іншае пашырэнне вываду з уласным тыпам змесціва і ўласнымі паводзінамі пры памылках, як апісвае дакументацыя па экспарце. Партал, які бездакорна прапускае першае, усё яшчэ можа сказіць другое, бо другое — гэта адказ, якога партал не чакаў убачыць. Абодва падзяляюць сеанс і адрас, і амаль нічога больш.
Разглядайце працаздольную старонку толькі як доказ аўтэнтыфікацыі і дасяжнасці. Яна даказвае, што ўліковы запіс можа дасягнуць сервера справаздач і што партал перадае HTML. Яна нічога не кажа пра адказы з файламі, загалоўкі размяшчэння змесціва або перанакіраванні, якія сканчаюцца спампоўваннем, а не дакументам.
Вось чаму варта параўноўваць шлях экспарту асобна, а не паўторна правяраць старонку, якая ўжо працуе. Два запыты, якія падзяляюць сеанс, застаюцца двума запытамі.
Тры ўмовы, якія вызначаюць, дзе ламаецца экспарт
Тры пытанні хутка вызначаюць месца няспраўнасці, і кожны адказ паказвае на іншага ўладальніка.
Па-першае, ці экспартуецца тая ж справаздача, уліковы запіс і фармат правільна з унутранай сеткі? Калі так, сервер справаздач і яго рэндэрар у парадку, а розніца ў шляху доступу. Па-другое, ці нясе адказ з памылкай тып змесціва файла, ці гэта HTML-старонка з пашырэннем файла? Гэта аддзяляе памылку рэндэрара ад падмены парталам. Па-трэцяе, ці перазапісвае партал URL запыту або выдаляе загалоўкі з адказу? Перазапісаны URL можа трапіць на цалкам іншую канчатковую кропку.
Адказвайце на ўсе тры пытанні перад зменай налады, бо кожнае мае сваё рашэнне. Няспраўнасць рэндэрара належыць серверу справаздач, падмененае цела — парталу, а выдалены загаловак — гэта пытанне палітыкі, а не памылка.
Запішыце адказы. Зварот у падтрымку, пабудаваны з гэтых трох радкоў, каштуе дзесяці здымкаў экрана.
Чытайце адказ экспарту, а не код стану
Поспех HTTP даказвае толькі тое, што нешта адказала на запыт. Даследуйце цела і загалоўкі разам, бо цікавая няспраўнасць — гэта паспяховы адказ з няправільным змесцівам.
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
Выгрузка загалоўкаў паказвае тып змесціва і любое размяшчэнне змесціва, якое вярнуў партал. Каманда file вызначае, чым цела з’яўляецца насамрэч, а тэкставы файл там, дзе чакалася табліца, — гэта класічная падмененая старонка ўваходу. Каманда head паказвае дастаткова, каб распазнаць HTML, не вывальваючы ўвесь справаздачу ў тэрмінал.
Выдаліце сеансавыя кукі і токены, перш чым чым-небудзь дзяліцца. Здымак працаздольнага экспарту — карысны доказ, а здымак сеансу, які належыць камусьці іншаму, — гэта інцыдэнт.
Абмяжуйце выключэнне праграмай, а не ўліковым запісам
Калі партал перазапісвае або блакуе адказ, спакуслівае выпраўленне — вызваліць увесь сайт або зрабіць справаздачу ананімнай. Абодва выпраўляюць спампоўванне і прыбіраюць прычыну існавання партала. Абмежаванае выключэнне называе адзін шлях праграмы, адзін тып змесціва і адзін кірунак, і яно застаецца даступным для перагляду таму, хто валодае палітыкай.
Выкарыстоўвайце тую версію шлюза, якую вы насамрэч запускаеце, і яго дакументаваныя налады праграм. Опцыя, якую пастаўшчык некалі апісаў як такую, што пакідае трафік нязменным, не з’яўляецца агульнай інструкцыяй, і капіраванне яе са старой тэмы форуму — гэта шлях да таго, каб часовае выключэнне стала пастаяннай архітэктурай.
Калі выключэнне немагчыма абмежаваць так вузка, экспарт, верагодна, належыць унутранаму шляху з іншым метадам доступу, а не за парталам. Вызваленне ўсяго сайта — рашэнне для ўладальніка партала, а не абыход для адной справаздачы.
Прымайце экспарт, а не дыялог захавання
Апошняя праверка — сам файл: ён адкрываецца, утрымлівае чаканыя слупкі, а яго вынікі супадаюць са справаздачай, якую ўхваліў карыстальнік.
З’яўленне дыялога захавання не ёсць поспехам, і файл, які адкрываецца з папярэджаннем аб выпраўленні, таксама не поспех. Параўнайце колькасць радкоў і адно вядомае значэнне са справаздачай на экране, бо абрэзаны экспарт праходзіць кожны тэст, які глядзіць толькі на памер файла. Потым экспартуйце другі раз, бо пласт кэша, які аднойчы аддаў няправільнае цела, можа ў наступнай спробе аддаць правільнае.
Прымайце працоўны працэс, які патрабаваўся карыстальніку, і нічога менш. Спампоўванне, якое адкрываецца ў няправільнай праграме, усё яшчэ няўдалы экспарт.