この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 348|答える: 0

[.NET Core] Nginxリバースプロキシ ASP.NET コアはUDS通信を使用します

[リンクをコピー]
2025年9月18日 10:36:51に投稿 | | | |
要件:ASP.NET CoreはすでにUDS(Unixドメインソケット)のリスニングをサポートしており、Nginxと ASP.NET Coreサイトが同じサーバー上であれば、UDSを通じて直接通信できます。また、Unixドメインソケットは通常TCP/IPよりもオーバーヘッドが少なく、送信速度も速いです。

復習:
.NET/C#プロセスはgRPCとUnixドメインソケット間で通信します
https://www.itsvse.com/thread-11051-1-1.html

Nginxのリバースプロキシphp-fpmはUDSを使って通信します
https://www.itsvse.com/thread-11068-1-1.html

まず、新しい.NET 8のウェブアプリケーションを作成するために、ListenerUnixの拡張メソッドを以下のコードでカプセル化しました。

Program.csでは、以下の通りに電話をかけてください:

コードは主にhttpリスニングやUnixドメインソケットリスニングを可能にするURLパラメータをサポートしており、アプリケーションが正常に起動した後はUnixドメインのソケットファイル権限を777に設定してくださいそれ以外の場合、nginxがUDSにリバースプロキシを行う際には、以下のように権限問題を報告する可能性があります。
2025年9月17日 11:01:26 [クリッター] 2887135#0: *112497 connect() to unix:/var/run/itsvse.socket failed (13: Permission denied) 上流に接続中に、クライアント: x.x.x.x, server: itsvse.com, リクエスト:「GET / HTTP/2.0」、アップストリーム:「http://unix:/var/run/itsvse.socket:/」、ホスト:「itsvse.com」

777権限を手動で設定する必要がある場合、コマンドは以下の通りです:

LinuxサーバーをLinuxサーバーに送信できない場合、スタートアップは以下の図のように成功します。



カールテストを用いると、コマンドは以下の通りです:

以下に示すように:



Nginxの構成は以下の通りです:

逆代理パスは2つで設定されます。:/が入ったもの、ないものが :/出力を求めることで効果を区別できます。下図のように:



参考:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。




先の:Nginxのリバースプロキシphp-fpmはUDSを使って通信します
次に:SQL Serverサーバーはデータベースの整合ルールを修正します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com