Go forward proxy دا Proxy-Authorization نى تەھلىل قىلىش
Go forward proxy دا Proxy-Authorization نى ئايرىم تەھلىل قىلىپ، مەنبەنىڭ Authorization باش ئۇچۇرىنى ساقلاڭ.
Go forward proxy دا r.BasicAuth Authorization باش ئۇچۇرىنى ئوقۇيدۇ، ئۇ نىشانلىق تور بېكەتكە كىرىشكە تەۋە. proxy نىڭ ئۆزىنىڭ سالاھىيەت ئۇچۇرى 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 نى ئىشلىتىدۇ. تەھلىل قىلىنغان قىممەتلەرنى ۋە تەھلىل مۇۋەپپەقىيەت بەلگىسىنى قايتۇرىدۇ؛ ھېساباتنى دەلىللەمەيدۇ. نەتىجىنى proxy بەلگىلىگەن سالاھىيەت دەلىللىگۈچىگە بېرىڭ.
ئەگەر دەلىللەش مەغلۇپ بولسا، مۇناسىپ Proxy-Authenticate سىناقى بىلەن 407 نى قايتۇرۇپ، بۇ تەلەپنى بىر تەرەپ قىلىشنى توختىتىڭ. نىشانغا ئۇلىنىش ئېچىشتىن ياكى CONNECT تونېلىنى قوبۇل قىلىشتىن بۇرۇن دەلىللەڭ.
سالاھىيەت ئۇچۇرىنى قوبۇل قىلغاندىن كېيىن، نورمال يوللاشتىن بۇرۇن proxy نىڭ ئۆزىنىڭ Proxy-Authorization باش ئۇچۇرىنى ئىشلىتىڭ. ئەسلى Authorization مەيدانىنى مەنبە ئۈچۈن ساقلاڭ. ئەگەر ئۈستىدە ئاتا proxy بولسا، ئۇ بۇ خېرىدار سالاھىيەت ئۇچۇرىنى تاسادىپىي ئېلىشنىڭ ئورنىغا ئۆزىنىڭ قەستەن دەلىللەش تەڭشىكىگە موھتاج.