Kontrollér det endelige FTP-svar, før du stoler på en upload
Et 150-svar betyder, at overførslen er startet, ikke at filen er gemt. Skil lokal læsning, lagerstilladelse, dataforbindelse og det endelige svar ad.
En FTP-klient kan acceptere en put-kommando længe før serveren har modtaget filen, og netop hullet mellem disse to hændelser er, hvor de fleste upload-mysterier bor. Fire trin skal gennemføres: den lokale fil læses, serveren accepterer lageranmodningen, dataforbindelsen bærer byteene, og overførslen når et endeligt positivt svar. At sammenligne trinnene er mere nyttigt end at sammenligne klienter, fordi et login, der virker, og et filnavn, der dukker op, begge stopper før målstregen.
Foreløbigt svar kontra endeligt svar
For STOR er et 125- eller 150-svar foreløbigt. Det siger, at serveren er villig til at forsøge, og at en dataforbindelse åbnes, ikke at objektet findes i sin endelige form. Handlingen er først fuldført, når overførslen når et positivt fuldførelsessvar, typisk 226 eller 250, i den handlings kontekst.
426 betyder, at overførslen blev afbrudt, og et tal, som en anden kommando udskriver, er ikke denne uploads resultat. Læs det svar, der hører til STOR, ikke det sidste tal på skærmen. Hvis klienten afslutter, før svaret ankommer, har du slet ingen dokumentation for fuldførelse.
Styreforbindelse kontra dataforbindelse
Godkendelse og mappeliste bruger styreforbindelsen. Byteene bruger en separat dataforbindelse, og dens endepunkt forhandles for hver overførsel. Et vellykket login beviser styrestien og siger intet om, hvorvidt dataadressen kan nås fra klienten.
Når serveren ikke kan åbne dataforbindelsen, skal du undersøge det forhandlede endepunkt og den tilladte sti. Passiv tilstand kræver stadig en brugbar dataadresse og port, og en firewall eller NAT-enhed mellem klient og server kan tillade styresessionen, mens den blokerer dataområdet. Når serveren i stedet afviser lageranmodningen, skal du se på det fjernede stinavn, tilladelserne eller lagergrænserne. Ingen af de to grene forklares af, at styreforbindelsen blev godkendt.
FTP over TLS kontra SFTP
FTP over TLS er stadig FTP: to forbindelser, FTP-svar og en TLS-opgradering på hver. SFTP er et SSH-undersystem med én forbindelse og et helt andet kommandosæt. De deler et formål og næsten intet andet, så en diagnose, der krydser mellem dem, begynder normalt med at sammenligne de forkerte logfiler.
Deaktiver ikke TLS for at lade en mellemhjælper inspicere sessionen, og behandl ikke en SFTP-fejl som et FTP-svarproblem. curl-vejledningen dokumenterer eksplicit TLS, passiv tilstand og upload-indstillinger, hvis du har brug for en scriptet test, og den er reference for, hvad hvert flag faktisk ændrer.
Vælg den protokol, tjenesten faktisk tilbyder, før du fejlfinder den. En server, der kun taler SFTP, vil aldrig producere et 226-svar, uanset hvordan klienten er konfigureret.
Et synligt filnavn kontra et gemt objekt
Et synligt filnavn kan repræsentere et ufuldstændigt objekt, især efter en afbrudt overførsel eller en klient, der afsluttede tidligt. Bed tjenestens ejer om at sammenligne den tiltænkte testfils størrelse og den betroede indholds-hash med det gemte objekt, når bytebevaring forventes.
Binær og ASCII-tilstand er en anden sammenligning, der ændrer resultatet. ASCII-tilstand kan oversætte linjeafslutninger, så de gemte byte adskiller sig fra den lokale fil, selvom overførslen lykkedes. Behold binær tilstand til en byte-for-byte-kontrol, og tilføj ikke konverteringsindstillinger for at få en mislykket overførsel til at se anderledes ud.
En almindelig STOR kan erstatte en eksisterende fil, og tilladelse til at logge ind eller liste en mappe giver ikke tilladelse til at oprette eller erstatte et objekt i den. Brug et hidtil ubrugt fjernnavn til testen.
Hvad du skal sammenligne, før du prøver igen
Tilføj, genoptag eller gentag ikke en upload i blinde oven på en usikker delvis fil. Aftal med ejeren, om I skal starte forfra under et nyt navn, bruge tjenestens understøttede gendannelsesprocedure eller fjerne det mislykkede testobjekt.
Skriv resultatet som en af fire udsagn: den lokale læsning mislykkedes, lager blev nægtet, dataoverførslen blev afbrudt, eller overførslen blev fuldført og de gemte byte passede. Den registrering er et stærkere resultat end at ændre shell, VPN og FTP-indstillinger på én gang, indtil et filnavn dukker op, og den fortæller den næste person, hvilket trin der skal undersøges. Gem den rensede svartekst sammen med udsagnet. Så er et nyt forsøg en beslutning, ikke en refleks.