FTP از طریق پروکسی HTTP دو حالت متفاوت دارد
دروازه HTTP که نشانی FTP را میآورد را از curl که FTP را از تونلهای CONNECT میگوید جدا کنید.
نشانی FTP پشت پروکسی HTTP میتواند یکی از این دو چیدمان را به کار ببرد:
| حالت | curl چه میفرستد |
|---|---|
| دروازه FTP از طریق HTTP | درخواست HTTP که از پروکسی میخواهد منبع FTP را بیاورد. |
| تونل CONNECT | درخواست تونل، و پس از آن بایتهای پروتکل بومی FTP از طریق اتصال پذیرفتهشده. |
این فرمان چیدمان دروازه را به کار میبرد:
curl --proxy http://203.0.113.10:8080 \
ftp://files.example.com/report.txtنقطه پایانی مستندات و مقصد فایل را جایگزین کنید. همانگونه که مستندات پروکسی HTTP در curl توضیح میدهد، curl در آن حالت با پروکسی به HTTP صحبت میکند. دریافت موفق یک فایل همه عملیات مخصوص FTP را اثبات نمیکند.
گزینه --proxytunnel را اضافه کنید وقتی سرویس قرار است FTP بومی را از CONNECT عبور دهد. باید اتصالهای لازم به مقصد را مجاز کند. FTP اتصالهای کنترل و داده جداگانهدارد، بنابراین نشانیها/درگاههای غیرفعال، قواعد CONNECT و پیکربندی سرور میتوانند انتقال را پس از ورود موفق قطع کنند.
مرحله شکست را نگه دارید: رد CONNECT، شکست ورود به FTP یا شکست داده غیرفعال. دروازههای مخصوص سرویس که مقصد دیگری را در USER/PASS کد میکنند از قراردادهای ورود خودشان استفاده میکنند؛ اینها نه اعتبارنامه معمول پروکسی HTTP هستند و نه مذاکره SOCKS.
حالت مستند پروکسی و پیکربندی امنیتی سرویس فایل را به کار ببرید. تونل بهتنهایی اعتبارنامههای FTP متنی یا دادههای فایل را رمزنگاری نمیکند.