Зошто вашиот URL бара влез на портата 80 или 443, а не 45000
Прелистувачот избира 80 или 443 според шемата, а не според високата порта на вашиот давател. Изминете ја патеката на влезот и потеклото што ви го остава секоја опција за објавување.
Внесете име на домаќин во прелистувач и шемата ја одредува целната порта: 80 за http, 443 за https. Ништо во DNS одговорот не го поништува тоа, и ниту едно правило за пренасочување на вашата машина не може да измисли слушател на работ на давателот. Кога давател на VPN ви дава висока јавна порта како 45000, експлицитен URL работи, а чист не. Јазот е на влезната точка, а не внатре во апликацијата.
Изминете ја патеката од прелистувачот до процесот еднаш, и трите опции за објавување ќе престанат да изгледаат мистериозни.
Погледнете каде навистина оди барањето
Прелистувачот го решава името во адреса, потоа се поврзува со таа адреса на стандардната порта на шемата, освен ако URL не наведува друга. Работ на вашиот давател одлучува што се случува со врската што пристигнува. Ако неговата таблица за пренасочување само 45000 ја поврзува со вашата внатрешна адреса, врската до 80 нема каде да оди и се одбива или отфрла пред вашата машина воопшто да учествува.
Тоа одбивање се случува на работ, затоа вашите дневници на апликацијата не покажуваат ништо. Отсуството на дневници е доказ за тоа каде пакетот застанал, а не доказ дека апликацијата е расипана.
Зошто локално правило не може да го поправи работ
Пренасочување или DNAT правило на домаќинот на апликацијата делува на пакети што веќе пристигнале. Пакетите испратени до портата 80 кај давателот никогаш не пристигнуваат, па правилото никогаш не се оценува. Ова е најчесто губитниот час во целиот проблем.
Ни DNS не може да ја носи портата. спецификација на HTTP ги дефинира стандардните вредности на шемата, а записот A или AAAA враќа адреса додека CNAME враќа друго име. Прелистувачот продолжува да ја спојува портата на шемата, па само експлицитна порта во URL ја менува целта.
Опција еден: задржете ја експлицитната порта
Често точниот одговор е неугледниот. Објавете го целосниот URL со портата, завршете TLS на влез што го поддржува, и осигурајте се дека секоја генерирана врска го задржува истото потекло. За мала, контролирана публика ова е целосно, и не чини ништо освен видлив број на порта.
Проверете ги пренасочувањата и опсегот на колачиња додека сте таму, затоа што backend што го пишува своето име на домаќин во Location заглавието ја поништува таа поставеност.
Опција два: добијте вистински влез на стандардната порта
Некои даватели и хостинг решенија пренесуваат 80 и 443 на заедничка или посветена адреса како документирана услуга. Прашајте што е навистина вклучено наместо да претпоставувате дека јавната излезна адреса значи произволни влезни порти. Посветена излезна адреса не кажува ништо за влезното пренесување.
Потврдете сопственост и достапност писмено, вклучително што се случува со влезот кога тунелот повторно се поврзува со друга адреса. Влез што се движи со тунелот предизвикува прекини што изгледаат како DNS дефекти.
Опција три: ставете frontend напред
Обратен прокси на достапна адреса може да слуша на 443 и завршува TLS и да отвори одделна врска со backend преку VPN. Посетителите го гледаат името и стандардната порта на frontend, додека frontend зборува со високата порта на backend во ваше име. Ова функционира затоа што ја менува архитектурата наместо да се бори со влезната точка. Тогаш на backend воопшто не му треба влезна порта на јавниот интернет.
Тоа го менува и она што го управувате. Frontend го поседува јавниот TLS, политиката за пристап, дневниците и достапноста, и мора да го ограничи изборот на backend на предвидената услуга. Ако скокот од frontend до backend користи HTTPS, задржете ја проверката на сертификатот на тој скок.
Задржете едно потекло
Јавното име на домаќин, шемата и портата на frontend го сочинуваат потеклото што го користат посетителите, затоа конфигурирајте го надворешниот URL на апликацијата, пренасочувањата и колачињата за тоа потекло. Испратете го оригиналниот домаќин и пренесената шема ако апликацијата гради апсолутни врски. Одговор што ги враќа корисниците на приватно име или висока порта го поништува чистиот влез што штотуку го изградивте.
Потоа одлучете имајќи ја предвид публиката. Краток URL може да оправда управуван frontend и не вреди случајно да се претвори приватна услуга само за VPN во јавна.