پروکسی HTTP یا HTTPS: این برچسب چه معنایی دارد؟
تفاوت پروکسی HTTP که به سایتهای HTTPS تونل میزند با پروکسی HTTPS که اتصال به خود پروکسی را رمزگذاری میکند.
از طرحی استفاده کنید که در مستندات شنوندهٔ پروکسی آمده است. هنگام انتخاب گزینهها از فهرست پروکسیهای HTTP، پیش از پیکربندی کلاینت، طرح شنونده را بررسی کنید. یک سایت HTTPS میتواند از http://proxy.example:8080 استفاده کند؛ تغییر این مقدار به https:// به معنای درخواست نوع دیگری از اتصال به پروکسی است.
| URL پروکسی | URL سایت | اتصال |
|---|---|---|
http://proxy.example:8080 | http://example.com/ | HTTP بدون رمزگذاری به پروکسی و مقصد. |
http://proxy.example:8080 | https://example.com/ | HTTP CONNECT به پروکسی و سپس TLS با مقصد از داخل تونل. |
https://proxy.example:8443 | https://example.com/ | TLS به پروکسی، در حالی که تونل مقصد داخل همان اتصال حمل میشود. |
برای یک شنوندهٔ معمولی HTTP که CONNECT را مجاز میداند، این تنظیم سازگار است:
curl --proxy http://127.0.0.1:8080 https://example.com/دستدهی TLS سایت پس از آن انجام میشود که پروکسی تونل را بپذیرد. اگر URL پروکسی را به https:// تغییر دهید اما شنونده فقط HTTP بدون رمزگذاری را بفهمد، ممکن است مذاکرهٔ TLS با پروکسی پیش از تماس با سایت شکست بخورد.
TLS تا پروکسی چه چیزی اضافه میکند؟
پروکسی دارای TLS، پیوند میان کلاینت و پروکسی را، از جمله تبادل CONNECT و احراز هویت پروکسی، در برابر شنود غیرفعال در همان مسیر محافظت میکند. گردانندهٔ پروکسی همچنان اتصال را پردازش میکند و مقصد تونل را میداند. هم کلاینت و هم شنونده باید از این حالت پشتیبانی کنند:
curl --proxy https://proxy.example:8443 https://example.com/از نام میزبان واقعی سرویس استفاده کنید؛ گواهی آن باید با نام مطابقت داشته باشد و مورد اعتماد باشد. محدودیتهای مقصد و درگاه همچنان برقرارند.
با HTTPS در هر دو سمت، دو بررسی گواهی انجام میشود. curl امکان تنظیم جداگانهٔ آنها را میدهد:
curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/--proxy-cacert اعتماد برای پروکسی را تعیین میکند و --cacert اعتماد برای مقصد را. در صورت نیاز از مجموعهگواهیهای ارائهشده توسط مدیر استفاده کنید؛ تنظیمات اعتماد سیستم ممکن است از قبل کافی باشد. پیش از تغییر هرکدام، مشخص کنید کدام دستدهی شکست خورده است.
برچسب «HTTPS» در یک فهرست پروکسی شاید فقط به این معنا باشد که نقطهٔ پایانی آزمون CONNECT را گذرانده است. اگر فهرست روش آزمونش را توضیح ندهد، این برچسب بهتنهایی نشان نمیدهد که شنونده http:// انتظار دارد یا https://.