ホームページ > バックエンド開発 > Golang > ルートの学習時に Go プロキシが失敗する

ルートの学習時に Go プロキシが失敗する

WBOY
リリース: 2024-02-14 17:10:09
転載
1171 人が閲覧しました

了解路由时 Go 代理失败

php エディター Strawberry は、Go プロキシの障害の問題を解決する際のルーティングの重要性を理解しています。ルーティングはネットワーク通信の中核概念であり、データ パケットを送信元アドレスから宛先アドレスにどのように配信するかを決定します。 Go 言語をプロキシに使用する場合、ルーティングを正しく構成することが非常に重要です。ルーティングと関連する構成の原理を深く理解することで、Go プロキシの障害の問題を効果的に解決し、ネットワーク通信の安定性と信頼性を確保できます。この記事では、誰もがルーティング テクノロジーをよりよく理解し、適用できるように、ルーティングの動作原理と一般的な設定方法を紹介します。

質問内容

こんな感じのシンプルなgoプロキシがあります。それを通じてリクエストをプロキシし、いくつかの Web サイトの応答を変更したいと考えています。サイトは tls 経由で実行されますが、私のプロキシは単なるローカル サーバーです。

リーリー

結果: 以下に示すように 404 エラー:

私が理解しているところによると、プロキシ サーバーはリクエストを開始し、リクエストを閉じてから、変更された応答を返します。ここで失敗するかどうかはわかりません。このリクエストが失敗する場所にヘッダーを転送するための何かが不足しているのでしょうか?

###編集###

ルーティングは正しく機能しています。最初は応答を変更することに興味がありましたが、

magical

ヘッダーが表示されたこと以外は何も変化しませんでした。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">func main() { target, _ := url.parse(&quot;https://www.google.com&quot;) proxy := httputil.newsinglehostreverseproxy(target) proxy.modifyresponse = rewritebody http.handle(&quot;/&quot;, proxy) http.listenandserve(&quot;:80&quot;, proxy) }</pre><div class="contentsignin">ログイン後にコピー</div></div>

解決策

重要な問題は文書に記載されていますが、文書からは正確に対処する方法が明確ではありません:

newsinglehostreverseproxy はホスト ヘッダーを書き換えません。リライト ホスト ヘッダー。カスタム ディレクター ポリシーでリバースプロキシを直接使用します。

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

#reverseproxy

を直接使用していません。

newsinglehostreverseproxy を使用して、director 関数を次のように調整することもできます。 リーリー

以上がルートの学習時に Go プロキシが失敗するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート