問題タブ [arr]

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.

0 投票する
0 に答える
72 参照

iis-7 - 私が期待したようにIISで動作しない書き換え

次のリダイレクトがあります

私がやろうとしているのは、 url があることhttp://www.mysite.com/a/username/filenameです。に書き換えてほしいhttps://s3.amazonaws.com/bucket/subfolder/username/filename.o8d

現在、動作すると思われる URL にアクセスすると 404 エラーが発生します。

何か案は?

更新します。に変更<action type="Rewrite" url="https://s3.amazonaws.com/bucket/subfolder/{R:1}/{R:2}.o8d" />してみまし<action type="Rewrite" url="/" />たが、サイトのルートに問題なく書き換えられます。arrをインストールし、修復して再起動しました。ここで何をすべきかわからない。私が読み続けているものはすべて、これは実行可能であるべきだと言っていますが、機能していません。

リライターが自動的にリライトを設定しているようですhttp://www.mysite.com/{Rewrite URL}

0 投票する
0 に答える
1207 参照

iis - アプリケーション プール全体での URL 書き換えと ARR

URL 書き換えとア​​プリケーション リクエスト ルーティング (ARR) を使用して、同じサーバー上の異なるアプリ プール間で書き換える方法を見つけようとしています。

簡略化されたバージョンでは、これが私が持っているものです: REST サービス API は Service.A と B の 2 つの仮想ディレクトリで実装されているため、仮想ディレクトリは、リソース A と B にアクセスするための URL の一部です。

[https://]api.mycompany.com/Service.A/A を取得します

[https://]api.mycompany.com/Service.B/B を取得します

私が達成したいのは、仮想ディレクトリ名のないAPI用の単一の外部URLを持ち、明らかにコードリファクタリングを行う必要がないことです(ソリューションファイルとビルドをマージするため)

[https://]api.mycompany.com/A を取得します

[https://]api.mycompany.com/B を取得します

パスの /A に一致し、/Service.A/A に置き換える URL 書き換えルールを実装しました。これは、デフォルトの Web サイト レベルで web.config に次のようなコードを記述したもので、正常に動作します。

問題は、別のアプリケーション プールを (既定の Web サイトのアプリケーション プールから) Service.A に割り当てると、すぐに 403 エラーで失敗することですが、これは、アプリケーション/仮想ディレクトリを実行するための私たちの側の要件です。プールが失敗したりリサイクルされたりした場合の影響を最小限に抑えるために、さまざまなアプリ プールの下で。

私はいくつかの研究をしました。以下の以前の投稿では、基本的に「リクエストを別のアプリプールに再ルーティングする場合は、ホップを作成する必要があります。そのホップが winsock または名前付きパイプなどを介しているかどうかに関係なく」詳細はありません。ARR ガイドも調べましたが、この場合に ARR を使用する方法を正確に理解できませんでした。

http://forums.iis.net/t/1151510.aspx?Rewrite+across+application+pools+

何か助けはありますか?私が正しい方向に進んでいるかどうかの提案とコメント?

ありがとう!

環境について言及するのを忘れてください。現在、開発環境では、Windows 7 上の IIS 7.5、Url Rewrite 2.0、および ARR 3.0 が Web Platform Installer によってインストールされています。

0 投票する
4 に答える
3457 参照

iis - Application Request Routing によって追加されたオーバーヘッドを追跡する方法は?

SSL を有効にする必要がある Delphi SOAP サービスがあります。構成を容易にするために、IIS ARR リバース プロキシを使用して SSL オフロードを行うことにしました (OpenSSL および手動の証明書 + パスフレーズ管理と比較して)。ARR は機能しますが、非常に多くのオーバーヘッドが追加されます... 18 のサービス要求 (圧縮された合計約 60Kb) に対して応答時間が2 秒未満から 19 秒になりました。

メッセージが送受信されたときのタイムスタンプ ロギングをクライアントとサーバーに追加しました。これは、クライアントからの送信とサービスによる受信の間に、ARR を介してルーティングされる各要求に約 1 秒追加されることを示しています。応答は非常に迅速に返されますが、ARR を介した要求ルーティングのみが遅くなります (下の画像を参照)。

オーバーヘッドの原因を追跡するにはどうすればよいですか? ARR はこのユース ケースに適していませんか? キャッシングを含むほとんどの設定を微調整して無効にしようとしました。運用環境の Windows Server 2012 を含む、クリーンな IIS セットアップでさまざまなホストを試しました。SSL 自体はオーバーヘッドではなく、ARR HTTP リバース プロキシを使用するだけで遅延が発生します。

Fiddler からの要求と応答のサンプル:

クライアントとサーバーのタイムスタンプ グリッド

I0IS トレースは、ARR からのオーバーヘッドを示します

0 投票する
1 に答える
551 参照

iis - クライアント証明書などを検査する

リバース プロキシとしてアプリケーション リクエスト ルーティングと URL 書き換えを使用したい。一部のアプリケーションでは、https とクライアント証明書が必要です。着信リクエスト (Cookie) とクライアント証明書を検査し、リクエストを転送するかどうかを決定するカスタム プロバイダを作成することは可能ですか?

よろしくロバート

0 投票する
2 に答える
1178 参照

c# - リクエストが URL 書き換えモジュールからのものかどうかを認識する方法

タイトルが明確でない場合はお詫びします。基本的に、ポート 80 でリッスンする Web プロキシがあり、IIS で URL 書き換えを設定しています (web.config のルールは次のとおりです)。

http://example.com/api/blah/blah ->
http://example.com:8095/api/blah/blah

問題なく動作します。localhost:8095 を直接リクエストしても動作します

しかし、リクエストが直接リクエストされたのか、それとも URL 書き換えモジュールを介してリクエストされたのかを認識できるようにしたいと考えています。

私の考えは、IISでURLが書き換えられたときにクエリ文字列をURLに追加して、クエリ文字列が存在するかどうかを確認し、そうでない場合はURLの書き換えを介して確認できるようにすることです。

例:

http://example.com/api/blah/blah?from=proxy -> http://example.com:8095/api/blah/blah?from=proxy

http://example.com/api/blah/blah?existing_query_string=blah&from=proxy -> http://example.com:8095/api/blah/blah?existing_query_string=blah&from=proxy

どうすればこれを達成できますか?またはそれを行う他の方法はありますか?

どうもありがとう

0 投票する
1 に答える
1639 参照

iis-7 - https http へのリダイレクト

新しい Web ファームを管理するために、Microsoft ARR とオフロードを使用しています。サイトは 2 つのアプリケーションに分割されています。1 つはコンテンツ管理システムを保持し、もう 1 つは購入システムを保持します。これらは、機能のために分離する必要があります。2 を接続するリンクの URL には https がありますが、ページが読み込まれると http になります。アドレスバーの URL を手動で https に変更すると機能するのに、そもそもなぜリンクを http としてロードするのでしょうか?

うまくいけば、これはあまり曖昧ではありません。私は謙虚なプログラマーであり、サーバー構成は私の専門分野ではありません。

何かご意見は?

0 投票する
1 に答える
1814 参照

ssl - Microsoft ARR での SSL の使用

SSL オフロードを使用して、webfarm で https を許可しようとしています。SSL を機能させる唯一の方法は、証明書をインストールして、各サーバーの IIS にバインドすることです。ただし、私たちのファームはスケーラブルであり、トラフィック レベルの変化に応じてサーバーを作成および削除できる必要があります。サーバー テンプレートに証明書を含めることができません。証明書が破損しており、正しく機能しないためです。

ただし、私が正しく理解している場合は、証明書を ARR サーバーにインストールするだけでよく、SSL オフロードは他のすべてのサーバーに適用する必要があります。ただし、これは機能していないようです。

サーバーを作成するときに証明書をインストールできますが、これは面倒であり、より良い方法があるはずです。

何かご意見は?

0 投票する
0 に答える
150 参照

iis - IIS URL Rewrite には Proxy_Intercept_Errors がありますか (Nginx など)

この質問を投稿した後: https://stackoverflow.com/questions/20891667/how-to-ignore-a-rule-if-the-rewrite-page-is-not-200-ok-status

私はこれに出くわしました: ロードバランサーサーバーとしてのnginxは、アプリサーバーからのHTTP応答に基づいて404ページを出力します

私が間違っている場合は修正しますが、基本的にはNginxを使用して必要なことを実行できると言います

proxy_intercept_errors(nginx.org より)

300 以上のコードを持つプロキシされた応答をクライアントに渡すか、error_page ディレクティブで処理するために nginx にリダイレクトするかを決定します。


はい!

これはまさに私が探しているものです。

IIS7.5 URL Rewrite 2.0 + ARR にはこの機能がありますか? それとも、これはNginxサーバー専用のものですか?