PHP 편집기 Zimo는 인터넷을 사용할 때 가끔 502 Bad Gateway 프롬프트를 접합니다. 이 오류 메시지는 게이트웨이 서버와 업스트림 서버 사이에 통신 문제가 있어 요청이 완료되지 않았음을 의미합니다. 가능한 원인 중 하나는 IPSec 터널에 대한 net/http GET 실패입니다. 이 오류는 혼란스러울 수 있지만 원인과 해결 방법을 이해하면 문제를 빠르게 해결하고 인터넷의 편리함을 계속 누릴 수 있습니다.
은 Windows에서 전달됩니다. ipsec 隧道(vpn)
使用 net/http
包发出远程 get
请求时,get
请求失败,响应代码为 502 bad gateway
。但是,由 curl
发送的具有相同 headers
、uri
、method
的请求效果很好。 go
소스 코드는 다음과 같습니다.
트래픽의 패킷 캡처를 분석한 결과 vpn接口
可以正常抓到curl
发送的请求,但是get
从go(net/http)
에서 보낸 요청이 손실된 것으로 나타났습니다.
그렇다면 프레임워크가 패킷을 보내기 위해 잘못된 인터페이스를 선택했기 때문이 아닐까 싶습니다.
그래서 올바른 로컬 네트워크 인터페이스를 찾고 다음과 같이 localaddr
来发送我的 get
요청을 지정하려고 합니다.
client
函数替换 client
后,get
요청이 마침내 작동합니다.
client := &http.client{}
=> client, err := client(uri)
제 질문은 왜 golang
이 자동으로 요청을 보내기 위해 올바른 로컬 네트워크 인터페이스를 선택하지 않는 걸까요? golang
没有选择正确的本地网络接口来自动发送请求?
调试net.dial#DialContext
后,发现该地址已更改为我在Visual Studio Code
net.dial
net.dial#DialContext
를 디버깅한 후 Visual Studio Code
설정에서 주소가 프록시 주소로 변경된 것을 발견했습니다. 내 프록시 서버가 내 애플리케이션 요청을 처리할 수 없습니다.
TypeScript/Java/Golang...
,这是我第一次在 vscode
IDE 中的 开发应用程序
上遇到代理问题。换句话说,我从来没有想过 IDE
代理能够完成它构建的工作。由于扩展或者IDE本身使用这个代理设置是合理的,但是我的golang
중요한 사항
위 내용은 502 잘못된 게이트웨이: IPSec 터널에 대한 net/http GET 실패의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!