Go ನ HTTP ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ ಕಸ್ಟಮೈಸ್ ಮಾಡುವಾಗ ProxyFromEnvironment ಉಳಿಸಿಕೊಳ್ಳಿ
ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ ಟೈಮೌಟ್ಗಳು ಅಥವಾ ಸಂಪರ್ಕ ಪೂಲ್ಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡುವಾಗ Go ನ ಪರಿಸರ ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ, ಡೀಫಾಲ್ಟ್ ಅನ್ನು ಶೂನ್ಯ Proxy ಕ್ಷೇತ್ರದಿಂದ ಬದಲಾಯಿಸುವ ಬದಲು.
Go ನ ಪ್ರಮಾಣಿತ DefaultTransport Proxy ಅನ್ನು ProxyFromEnvironment ಗೆ ಹೊಂದಿಸುತ್ತದೆ. ಪ್ರತ್ಯೇಕವಾಗಿ ನಿರ್ಮಿಸಿದ &http.Transport{} ನಲ್ಲಿ Proxy ಕಾರ್ಯ nil ಆಗಿದ್ದು, ಅದು ಯಾವುದೇ ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆ ಮಾಡುವುದಿಲ್ಲ.
ಟೈಮೌಟ್ ಬದಲಾಯಿಸಲು ಮಾತ್ರ ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ ಸೇರಿಸಿದ ನಂತರ ಈ ವ್ಯತ್ಯಾಸ ಕಾಣಿಸಬಹುದು. ಪ್ರಮಾಣಿತ ಡೀಫಾಲ್ಟ್ ಇನ್ನೂ ಸ್ಥಾಪಿತವಾಗಿದ್ದರೆ, ಅದನ್ನು ಕ್ಲೋನ್ ಮಾಡಿ ಅಗತ್ಯವಿರುವ ಕ್ಷೇತ್ರವನ್ನು ಬದಲಾಯಿಸಿ:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}ಕ್ಲೋನ್ ಪರಿಸರ ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆ ಮತ್ತು ಇತರ ಡೀಫಾಲ್ಟ್ ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಪ್ರಕಾರದ ದೃಢೀಕರಣವು ಅಪ್ಲಿಕೇಶನ್ DefaultTransport ಅನ್ನು ಇನ್ನೊಂದು RoundTripper ನಿಂದ ಬದಲಾಯಿಸಿಲ್ಲ ಎಂದು ಊಹಿಸುತ್ತದೆ.
ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಶೂನ್ಯದಿಂದ ನಿರ್ಮಿಸಿದ ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ಗೆ, ಅದು ಅದರ ರೂಟಿಂಗ್ ನೀತಿಯಾಗಿದ್ದಾಗ Proxy: http.ProxyFromEnvironment ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಿ. ಸ್ಪಷ್ಟ ProxyURL ಕಾರ್ಯವು ಬೇರೆ ನೀತಿಯನ್ನು ವ್ಯಕ್ತಪಡಿಸುತ್ತದೆ: ಆಯ್ಕೆ ಮಾಡಿದ ಒಬ್ಬ ಮಧ್ಯವರ್ತಿ.
ಏಕಕಾಲಿಕ ವಿನಂತಿಗಳು ಅದನ್ನು ಬಳಸುವ ಮೊದಲು ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ, ನಂತರ ಕೆಲಸದ ಹೊರೆಗೆ ಅದನ್ನು ಮತ್ತೆ ಬಳಸಿ. ಹಂಚಿಕೆಯ ಡೀಫಾಲ್ಟ್ ವಸ್ತುವನ್ನು ಬದಲಾಯಿಸುವುದು ಸಂಬಂಧವಿಲ್ಲದ ಕ್ಲೈಂಟ್ಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು.
ಕಸ್ಟಮ್ TLS ಸೆಟ್ಟಿಂಗ್ಗಳು ಪ್ರತ್ಯೇಕ. ಪ್ರಾಕ್ಸಿ ಅನ್ವೇಷಣೆಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು ಪ್ರಮಾಣಪತ್ರ ಪರಿಶೀಲನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಮತ್ತು ಅದು ಪ್ರತಿ ಹೊಂದಿಕೆಯಾಗುವ HTTPS ವಿನಂತಿಯ ಭದ್ರತೆಯನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ.