CORS grpc ゲートウェイ GoLang

WBOY
リリース: 2024-02-12 12:54:09
転載
1017 人が閲覧しました

CORS grpc 网关 GoLang

php Xiaobian Strawberry は、CORS gRPC ゲートウェイ GoLang を紹介します。 CORS は Cross-Origin Resource Sharing の略で、ブラウザーでクロスドメイン要求を行うために使用されるメカニズムです。 gRPC は、分散システムの構築に使用できる、高性能のオープンソースのリモート プロシージャ コール (RPC) フレームワークです。 GoLang は、高い同時実行性とシンプルさを備えた強力なプログラミング言語です。 CORS gRPC ゲートウェイ GoLang は CORS と gRPC を組み合わせて、Go 言語を通じてゲートウェイを実装し、クロスドメイン要求を実装します。この記事では、CORS gRPC ゲートウェイ GoLang の原理と使用法を詳しく紹介し、このテクノロジーをより深く理解し、応用できるようにします。

質問の内容

私は vue.js 3 フロントエンドを持っており、grpc-gatewayを通じて golang バックエンドを呼び出しています。しばらくこれを続けてきましたが、トンネルの先に光が見えてきました。

現在、cors の問題に直面しています。ただし、それに対処する方法については矛盾する情報を読んでいます。そこで、皆様のお役に立てればと思い投稿させていただきました。

これは、grpc (ゲートウェイ) のマルチプレクサ サーバーを初期化する方法のコードです

リーリー

ここに cors 構成を追加する必要があると思いますが、server.go ファイルでどのように設定するかわかりません。..

リーリー

コンソールエラー:

リーリー

このようなものをどこに追加すればよいかわかりません

リーリー

golang grpc ゲートウェイに何かが組み込まれているはずだと思いますが、何も見つかりません。

ご提案をいただければ幸いです。

-----アップデート1-----

試してみました

リーリー ###そして### リーリー ###そして### リーリー ###組み合わせる### リーリー

まだ同じ問題が発生しています。非常にイライラします

回避策

コメントで提供された最新のエラーに基づいて:

オリジン 'localhost:9000' から 'localhost:8080/v1/test' の xmlhttprequest へのアクセスが CORS ポリシーによってブロックされました: プリフライト リクエストへの応答はアクセス制御チェックに失敗しました: http の通常のステータスがありません。

ブラウザは、必要なクロスオリジン リクエストを実行できるかどうかを判断するために、

プリフライト リクエスト

(

options

http メソッド) を送信しています。

サーバーは 2xx 以外の応答で応答しています。これは、enablecors関数がリクエストを grpc-gateway ハンドラーに伝播しているためではないかと思われます。このハンドラーは

options

http メソッドに満足せず、おそらくエラー ステータスを返します。はい:### リーリー

したがって、これを回避するには、プレフライト リクエストを行うときに

リクエストをさらに伝播させないようにする必要があります。例:リーリーしかし、上記は依然として cors 処理の適切な実装ではない可能性があります。これには、

github.com/rs/cors

などの既存のパッケージを使用する必要があります。これは、賢明な方法でこれを処理し、潜在的な落とし穴などに対処します。したがって、

github.com/rs/cors

をインポートして、次の操作を実行します。 リーリーを実行すると、すべてをやり過ごすことができるようになります。このライブラリを使用すると、特定のオリジン、http メソッドなどをニーズに合わせて調整できます。

以上がCORS grpc ゲートウェイ GoLangの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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