HTTP պրոքսի հարցումներ՝ բացարձակ URL-ներ ընդդեմ Host վերնագրի
HTTP/1.1 հարցումը հստակ պրոքսի միջով ուղարկելիս բացարձակ նպատակակետը և Host դաշտը համահունչ պահեք։
Ո՞ր հոսթին է վերաբերում այս HTTP/1.1 պրոքսի հարցումը։
GET http://first.example/path HTTP/1.1
Host: second.example
Հաղորդագրությունը հակասական է։ Պրոքսիին ուղարկված բացարձակ ձևի հարցման դեպքում RFC 9112-ը պահանջում է, որ փոխանցվող Host արժեքը գա հարցման նպատակակետից։ Host: first.example-ը փոխանցելը սպասվող վարքագիծն է։
Զարգացման կայքի փորձարկման ժամանակ ռեսուրսի հոսթի անունը համահունչ պահեք URL-ում և HTTP authority-ում։ Տրամադրեք ցանկալի անուն-հասցե քարտեզագրումը լուծման համար պատասխանատու hop-ում։ Հակասող Host վերագրանցումը պորտաբել հրահանգ չէ backend ընտրելու համար։
HTTPS-ը տարբերվում է։ Սովորական CONNECT թունելը բացվելուց հետո TLS-ը և ներքին HTTP փոխանակումը տեղի են ունենում դրա ներսում։ Չընդհատող պրոքսին սովորաբար չի կարող վերաշարադրել այդ գաղտնագրված Host դաշտը։ CONNECT նպատակակետը, TLS անունը և վկայագրի ինքնությունը մնում են առանձին դերեր։
Via-ի, Referer-ի կամ Cache-Control-ի հեռացումը չի հաշտեցնում երկու authority-ները։ Նախքան պրոքսի վերաշարադրումը ախտորոշելը գրանցեք հարցման ձևը և այն կետը, որտեղ դիտարկել եք վերնագիրը։