אין אַ Go forward proxy לייענט r.BasicAuth דעם Authorization-קעפּל, וואָס געהערט צום אַרײַנלאָגירן אויף דער ציל-וועבזייטל. די פּראָקסי'ס אייגענע באַשטעטיקונגס־דאַטן קומען אין Proxy-Authorization.

אַ קליינער אַדאַפּטער קען ווידער ניצן דעם פּובליקן פּאַרסער אָן צו ענדערן די אָריגינאַלע בקשה:

func proxyBasicAuth(r *http.Request) (string, string, bool) {
    headers := make(http.Header)
    headers.Set("Authorization", r.Header.Get("Proxy-Authorization"))
    return (&http.Request{Header: headers}).BasicAuth()
}

דער פֿראַגמענט ניצט net/http. ער גיט צוריק די פֿאַרשטאַנענע ווערטן און אַ פֿאָן פֿאַר דערפֿאָלג פֿון דער אַנאַליז; ער באַשטעטיקט נישט דעם חשבון. גיט דעם רעזולטאַט צום באַשטימטן באַשטעטיקער פֿון די פּראָקסי-דאַטן.

אויב די באַשטעטיקונג דערפֿאָלגט נישט, גיט צוריק 407 מיט אַ פּאַסיקער Proxy-Authenticate אַרויסרופֿונג און שטעלט אָפּ די באַאַרבעטונג פֿון יענער בקשה. באַשטעטיקט פֿאַר איר עפֿנט אַ פֿאַרבינדונג צום ציל אָדער נעמט אָן אַ CONNECT-טונעל.

נאָכ דעם אָננעמען די באַשטעטיקונגס־דאַטן, פֿאַרנוצט דעם פּראָקסי'ס אייגענעם Proxy-Authorization-קעפּל פֿאַר דער געוויינטלעכער ווײַטערפֿירונג. היט דאָס אָריגינאַלע Authorization-פֿעלד פֿאַר דעם אָריגין. אַן איבערגעשטעלטער עלטערן-פּראָקסי, אויב עס איז דאָ, דאַרף זיין אייגענע באַוווסטזיניקע באַשטעטיקונגס־סדר אַנשטאָט באַקומען די קליענט-דאַטן בטעות.

פֿאַרבונדענע אַרטיקלען