問題タブ [http.sys]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssl - http.sys と winhttp.dll には SSL/TLS の「セッション再開」と「不正開始」がありますか?
クライアント側のwinhttp.dllをアタッチするDelphiで記述されたアプリケーションがあり、サーバー側ではmORMot(Webサーバー機能用に「http.sys」をアタッチするSOA / ORMクライアントサーバーライブラリ)を使用します。次のステップは、JS で書かれた Web クライアントでもあります。
したがって、最大 100 ミリ秒のレイテンシーを伴うすべての通常の接続では、SSL/TLS ハンドシェイクが含まれていると > 350 ミリ秒になります。
「セッションの再開」と「誤った開始」(証明書を再利用してデータをより高速にプッシュすることによる)により、レイテンシは200ミリ秒未満になる可能性があることを読みました。これは私にとって非常に大きなメリットです。
だから私の質問は次のとおりです。「http.sys」(サーバー)と「winhttp.dll」(クライアント)を組み合わせて、これらの進歩を利用できますか?はいの場合、どのバージョンからですか?
注: Win8.1 および Win Server 2012 以降ではこれは正しいと思いますが、ドキュメントが見つからず、>= IIS 8.5 でセッションが再開されるだけです。
iis - IIS 仮想ディレクトリが別の http.sys バインディングにパススルーできるようにする
結論: バインドされた IIS サイトのサブパスが、http.sys で直接バインドされた IIS 以外のアプリケーションにパススルーできるようにする方法はありますか?
Windows Server 2008 で IIS 7.5 を使用しています。たとえば、特定のルート URL にバインドされた既存の IIS サイトがありますfooapps.bar.com
。このサイトには、その下にいくつかのアプリケーションとディレクトリがあります。これはすべてうまくいきます。fooapps.bar.com
問題は、IIS アプリケーションではなく、http.sys に直接登録する別のサービスへのサブパスをパススルーできるようにしたいということです。
したがって、このサービスは http.sys at にバインドされfooapps.bar.com/Services
ます。にバインドされた IIS サイトを停止するとfooapps.bar.com
、への要求fooapps.bar.com/Services
は正常に受信され、http.sys バインド サービスによって処理されます。ただし、IIS サイトが実行fooapps.bar.com/Services/*
されている場合、対応する物理パスには実際には何もないため、すべての要求が IIS によってインターセプトされてエラーが返されます。IIS に完全に無視fooapps.bar.com/Services
させ、代わりにそのパスへの要求を http.sys でバインドされている他のものにパススルーさせるにはどうすればよいですか?
asp.net-core - ASP.NET Core を自己ホストする場合 - 利用可能な場合は http.sys を使用しますか?
http.sys
Windows に存在するカーネル モード ドライバーであり、着信 HTTP 要求の処理とルーティングを大幅に高速化します。これは、Windows NT 4 の時代に追加され、当時まだ未熟だった IIS のベンチマークを Apache に比べて向上させました。
なじみのない人のために: これは、着信 HTTP 要求 (ポート 80 と 443 で、他のポートも監視するように構成できます) をハイジャックし、その構成に基づいて別のユーザーランド アプリケーションにルーティングするコンポーネントです。詳細については、MSDN を参照してください: https:/ /msdn.microsoft.com/en-us/library/windows/desktop/aa364510(v=vs.85).aspx
現在、IIS を使用してアプリケーションをホストしている場合は、http.sys
.
ただし、セルフホステッド ASP.NET Core アプリケーションが存在する場合に使用するかどうかを示す情報は見つかりませんhttp.sys
。
c# - Http.Sysサーバーを使用してdotnetコアバージョン2.2でhttp2を有効にする方法は?
私のマシン/プロジェクトの詳細:
- Windows のバージョンは 10 Enterprise 1903 (OS ビルド 18362.295) です。
- Dotnet コア バージョンは 2.2.106、ターゲット フレームワーク バージョンは 4.6.2
これは、コードでサーバーをセットアップする方法です。
ただし、http バージョン 2.0 で呼び出すと、1.1 で応答が返されます (以下の LinqPad スクリプト)。
から 2.0 を取得しますが、 からresponse.RequestMessage.Version
1.1を取得しresponse.Version
ます。ローカル uri を Google の戻り値 2.0 に置き換えると、応答で返されます (したがって、上記のコードは正しいです)。
HttpSysOptionsには、http2 に関連するパラメーターもありません。他に何が欠けているか知っている人はいますか?
asp.net-core - ASP.net Core HTTP.sys が https で動作しない
次の ASP.net Core 2.1 SOAP サービス (SoapCore) があります。
SoapUI から呼び出していますが、動作します。
HTTPS に切り替えようとしています。
動作しません。私は何を間違っていますか?また、サービス名を UrlPrefix から Soap エンドポイントに移動しようとしましたが、同じ結果になりました。Wireshark は、クライアントにバイトを送信せずに接続が終了したことを示しています。
HTTP.sys を使用しない場合に機能します。これは機能します:
同じポートに複数のサービスがあるため、HTTP.sys が必要です。管理者としてサービスを実行しています (テスト用)
angular - ASP.NET コアを使用した Angular プロジェクトのホスティング
ホストしたい Angular プロジェクトがあります。Angular 用の asp.net コア Web プロジェクトにテンプレートがあります。テンプレートを調べて、ASP.NET コア用の空のテンプレート プロジェクトを作成し、必要なパッケージ (SPA や他のすべてのパッケージなど) をインストールしました。次に、Angular プロジェクト (.net プロジェクトのディレクトリにはありません) を .net 経由でホストしたいと考えています。事業。
ここでの問題は、この Angular プロジェクトのソース コードを持っていないことです。Nexus からバイナリ パッケージのみを取得します。startup.cs ファイルで、プロジェクトのソース パスを指定できることがわかりました。このようなもの
このフォルダーから package.json ファイルを開き、start コマンドを検索して mg serve を実行します。また、ルート パスを要求します。
私はこの部分を知りません。ここで使用する前に、dist フォルダーを構成によって作成する必要があることを理解しています。また、ソース パス ID が ClientApp と異なる場合に正しく構成する方法もわかりません。そのような設定を使用して、これを機能させることはできますか? 最終的な目標は、asp.net コア プロジェクトの HTTP.SYS を使用して Angular プロジェクトをホストすることです。これは可能ですか?これを行う最善の方法は何ですか?
asp.net-core - ASP.NET Core アプリを Windows サービスとして実行できない
3.1 バージョンの ASP.NET CORE プロジェクトがあります。このプロジェクトをホストするために HTTP.SYS を使用しています。このプログラムで提供されている wwwroot フォルダーには、いくつかの静的ファイルがあります。これが私のstartup.csの外観です。
そして、私のprogram.csは次のようになります。
このコードを使用すると、Windows サービスを作成して実行できますが、URL にアクセスしたときに Hello World メッセージしか表示されません。サービスの実行中に静的ページは表示されません。ここで何か間違ったことをしていると思います。これを行う正しい方法は何ですか?
asp.net-core - Service Fabric で http.sys サーバーのクライアント証明書を要求する
HttpSysCommunicationListener を使用してセットアップしたサービス ファブリックで実行されている asp.net コア Web API があります。クライアント証明書を使用してクライアントが API に対して認証できるようにしたい
Kestrelサーバーがクライアント証明書を要求できるようにするasp.netコアドキュメントでこれを見つけました
私が設定できる http.sys に似たものはありますか? または、他にどのようにこれを実装しますか?
c# - asp.netのHttp.Sysによって提供される認証でHTTP/2が機能しないようです
同じドメインに 2 つのサービスがあるとします: https://example.com:5001とhttps://example.com:5002
https://example.com:5001には、次のような http.sys 設定があります
https://example.com:5002には次のオプションがあります。
最初のサービスにリクエストを送信すると、さまざまな問題が発生します。
- HttpClient -> WinHttpHandler 経由:
応答には StatusCode 200 がありますが、プロトコル バージョンは 1.1 にダウングレードされます
- HttpClient -> HttpClientHandler 経由:
応答には、StatusCode 401、Unauthorized、およびプロトコル バージョン 2.0 があります。
- HttpWebRequest 経由:
例外をスローします:現在、HTTP/1.0 および HTTP/1.1 バージョンのリクエストのみがサポートされています。(パラメータ「値」)
https://example.com:5002へのすべての同じリクエストのステータス コードは 200 で、プロトコル バージョンは HTTP/2 です。
http.sys の HTTP/2 で認証が正しく機能していないか、何か間違っていると思います。
これがどのように正しく機能するかについてのアイデアはありますか? 前もって感謝します!