Go forward проксиде Proxy-Authorization талдау
Go forward проксиде Proxy-Authorization-ды бөлек талдап, бастапқы Authorization тақырыпшасын сақтаңыз.
Go forward проксиде 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 пайдаланады. Ол талданған мәндерді және талдау сәттілігінің жалаушасын қайтарады; тіркелгіні аутентификацияламайды. Нәтижені проксидің көздеген тіркелгі деректерін тексерушісіне беріңіз.
Аутентификация сәтсіз болса, тиісті Proxy-Authenticate шақырымымен 407 қайтарып, сол сұранысты өңдеуді тоқтатыңыз. Мақсатқа қосылым ашпас бұрын немесе CONNECT туннелін қабылдамас бұрын аутентификациялаңыз.
Тіркелгі деректерін қабылдағаннан кейін қарапайым жіберудің алдында проксидің өз Proxy-Authorization тақырыпшасын жұмсаңыз. Түпнұсқа Authorization өрісін бастапқы үшін сақтаңыз. Жоғарғы ата-ана прокси болса, оған осы клиент тіркелгі деректерін кездейсоқ алудың орнына өзінің әдейі аутентификация конфигурациясы қажет.