Brauzerə host adı yazın və sxem təyinat portunu müəyyən edir: http üçün 80, https üçün 443. DNS cavabında heç nə bunu ləğv etmir və maşınınızdakı heç bir yönləndirmə qaydası provayderin kənarında dinləyici yarada bilməz. VPN provayderi sizə 45000 kimi yüksək ictimai port verəndə açıq URL işləyir, təmiz olan isə işləmir. Boşluq tətbiqin içində deyil, giriş nöqtəsindədir.

Brauzerdən prosesə qədər yolu bir dəfə izləyin və üç dərc variantı sirli görünməyi dayandıracaq.

Sorğunun həqiqətən hara getdiyinə baxın

Brauzer adı ünvana çevirir, sonra URL başqa port göstərmirsə, sxemin standart portu ilə həmin ünvana qoşulur. Gələn bağlantıya nə olacağına provayderinizin kənarı qərar verir. Əgər onun yönləndirmə cədvəli yalnız 45000-i daxili ünvanınıza uyğunlaşdırırsa, 80 portuna bağlantının gedəcək yeri yoxdur və maşınınız işə qarışmadan rədd edilir və ya atılır.

Bu rədd kənarda baş verir, buna görə tətbiq jurnallarınız heç nə göstərmir. Jurnalların olmaması paketin harada dayandığına dair sübutdur, tətbiqin xarab olduğuna dair deyil.

Niyə yerli qayda kənarı düzəldə bilmir

Tətbiq hostundakı yönləndirmə və ya DNAT qaydası artıq gəlmiş paketlərə təsir edir. Provayderdə 80 portuna göndərilən paketlər heç vaxt çatmır, ona görə qayda heç vaxt qiymətləndirilmir. Bu, bütün problemdə ən çox itirilən saatdır.

DNS də portu daşıya bilməz. HTTP spesifikasiyası sxemin standartlarını müəyyən edir, A və ya AAAA qeydi ünvan qaytarır, CNAME isə başqa ad qaytarır. Brauzer yenə də sxemin portunu birləşdirir, buna görə təyinatı yalnız URL-dəki açıq port dəyişir.

Birinci variant: açıq portu saxlamaq

Çox vaxt düzgün cavab izzətsiz olandır. URL-i portla birlikdə tam dərc edin, TLS-i onu dəstəkləyən girişdə sonlandırın və yaradılan hər linkin eyni mənşəyi saxladığına əmin olun. Kiçik, nəzarətli auditoriya üçün bu tamdır və görünən port nömrəsindən başqa heç nəyə başa gəlmir.

Orada olanda yönləndirmələri və kuki əhatəsini yoxlayın, çünki öz host adını Location başlığına yazan backend bu tənzimləməni ləğv edir.

İkinci variant: real standart port girişi əldə etmək

Bəzi provayderlər və hostinq tənzimləmələri sənədləşdirilmiş xidmət kimi 80 və 443-ü ortaq və ya ayrılmış ünvanda yönləndirir. İctimai çıxış ünvanının ixtiyari gələn portları nəzərdə tutduğunu güman etmək əvəzinə həqiqətən nəyin daxil olduğunu soruşun. Ayrılmış çıxış ünvanı gələn yönləndirmə haqqında heç nə demir.

Mülkiyyəti və mövcudluğu yazılı şəkildə təsdiqləyin, o cümlədən tunel fərqli ünvanla yenidən qoşulanda girişə nə olacağını. Tunellə birlikdə hərəkət edən giriş DNS nasazlığı kimi görünən kəsintilər yaradır.

Üçüncü variant: qarşıya frontend qoymaq

Əlçatan ünvanda tərs proxy 443 portunda dinləyə, TLS-i sonlandıra və VPN üzərindən backend-ə ayrıca bağlantı aça bilər. Ziyarətçilər frontend-in adını və standart portunu görür, frontend isə sizin adınızdan backend-in yüksək portu ilə danışır. Bu işləyir, çünki giriş nöqtəsi ilə mübarizə aparmaq əvəzinə arxitekturanı dəyişir. Backend-in sonra ictimai internetdə heç bir gələn porta ehtiyacı qalmır.

Bu həm də idarə etdiklərinizi dəyişir. Frontend ictimai TLS-ə, giriş siyasətinə, jurnallara və mövcudluğa sahibdir və backend seçimini nəzərdə tutulan xidmətlə məhdudlaşdırmalıdır. Frontenddən backend-ə keçid HTTPS istifadə edirsə, sertifikat yoxlamasını həmin keçiddə saxlayın.

Bir mənşə saxlayın

Frontend-in ictimai host adı, sxemi və portu ziyarətçilərin istifadə etdiyi mənşəyi təşkil edir, buna görə tətbiqin xarici URL-ini, yönləndirmələrini və kukilərini həmin mənşə üçün konfiqurasiya edin. Tətbiq mütləq linklər qurursa, orijinal hostu və yönləndirilmiş sxemi göndərin. İstifadəçiləri şəxsi ada və ya yüksək porta qaytaran cavab yenicə qurduğunuz təmiz girişi ləğv edir.

Sonra auditoriyanı nəzərə alaraq qərar verin. Qısa URL idarə olunan frontend-i əsaslandıra bilər və yalnız VPN üçün olan şəxsi xidməti təsadüfən ictimai xidmətə çevirməyə dəyməz.

Əlaqəli məqalələr