>  기사  >  백엔드 개발  >  경로 학습 시 Go 프록시가 실패함

경로 학습 시 Go 프록시가 실패함

WBOY
WBOY앞으로
2024-02-14 17:10:091146검색

了解路由时 Go 代理失败

php 편집기 Strawberry는 Go 프록시 실패 문제를 해결할 때 라우팅의 중요성을 이해하고 있습니다. 라우팅은 네트워크 통신의 핵심 개념으로, 데이터 패킷이 소스 주소에서 대상 주소로 전달되는 방식을 결정합니다. 프록시에 Go 언어를 사용할 때 라우팅을 올바르게 구성하는 것이 매우 중요합니다. 라우팅 원리 및 관련 구성에 대한 심층적인 이해를 통해 Go 프록시 실패 문제를 효과적으로 해결하고 네트워크 통신의 안정성과 신뢰성을 보장할 수 있습니다. 이 기사에서는 모든 사람이 라우팅 기술을 더 잘 이해하고 적용할 수 있도록 라우팅의 작동 원리와 일반적인 구성 방법을 소개합니다.

질문 내용

이런 간단한 go 프록시가 있습니다. 이를 통해 요청을 프록시하고 일부 웹사이트의 응답을 수정하고 싶습니다. 사이트는 TLS를 통해 실행되지만 내 프록시는 로컬 서버일 뿐입니다.

으아아아

결과: 아래와 같이 404 오류가 발생했습니다.

내가 이해한 바로는 프록시 서버가 요청을 시작하고 닫은 다음 수정된 응답을 반환합니다. 여기서 실패할지는 잘 모르겠습니다. 이 요청이 실패한 곳으로 헤더를 전달할 내용이 누락되었나요?

편집

라우팅이 작동 중입니다. 처음에는 응답을 수정하는 데 관심이 있었지만 magical 헤더를 보는 것 외에는 변경된 내용을 보지 못했습니다.

func main() {
    target, _ := url.parse("https://www.google.com")

    proxy := httputil.newsinglehostreverseproxy(target)
    proxy.modifyresponse = rewritebody

    http.handle("/", proxy)
    http.listenandserve(":80", proxy)
}

해결 방법

핵심 문제는 문서에 언급되어 있지만 문서에는 이를 정확히 처리하는 방법이 명확하지 않습니다.

newsinglehostreverseproxy는 호스트 헤더를 다시 쓰지 않습니다. 고쳐 쓰기 호스트 헤더, Custom Director 정책과 함께 직접 reverseproxy를 사용합니다.

https://www.php.cn/link/747e32ab0fea7fbd2ad9ec03daa3f840

다음과 같이 reverseproxy 。您仍然可以使用 newsinglehostreverseproxy 并调整 director 기능을 직접 사용하지 않습니다.

으아아아

위 내용은 경로 학습 시 Go 프록시가 실패함의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제