問題タブ [isapi]
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.
rewrite - ISAPI URL 書き換え - http から https へ
HTTP リンクであるリンクを URL リダイレクトする必要がありますが、HTTPS フォームにリダイレクトする必要があります。ISAPI 書き換えを使用してそれを行うにはどうすればよいですか?
iis - WIX: WIX を使用して ISAPI フィルターをアンインストールするにはどうすればよいですか?
WIX では、 iis:WebFilter要素を使用して ISAPI フィルターをインストールできます。
結果の MSI を実行すると、指定された Web サイトに指定された ISAPI フィルターがインストールされます。
MSI のアンインストール時にそのフィルターを削除 または構成解除するにはどうすればよいですか?
iis-7 - クライアントIPをiis7.0に書き込み、ファイアウォールを介してログに記録します
サーバーがファイアウォールとプロキシの背後にあるときにクライアントのIPをIISログに書き込むためにWindowsServer200864ビットで実行されるIIS7.0のソリューションが必要です(Pass X-Forwarded-Forヘッダー値)。
JoePruittによって作成されたISAPIフィルターをインストールしようとしました。Windows Server 200332ビットIIS6.0ではうまく機能しますが、Windows Server200864ビットIIS7.0では何も機能しないようです。
このバージョンのOSでこのISAPIフィルターを試した人はいますか?または別の解決策がありますか?
Joe Pruittの(F5からの)ISAPIフィルターへのリンク:http: //devcentral.f5.com/weblogs/Joe/archive/2009/08/19/x_forwarded_for_log_filter_for_windows_servers.aspx
よろしくお願いします、
男bertental
web-services - Apache がホストする Web サービスが TRemotable クラスを処理しない
Delphi 2009 で作成した ISAPI DLL から始めました。このモジュールは、Windows XP の IIS 5.1 で実行すると期待どおりに動作します。Apache 2.2.15 と mod_isapi を使用してホストされている場合、この同じモジュールは正しく機能しません。mod_isapi に欠陥がある可能性を排除するために、同じサービスの Apache 共有オブジェクト モジュールが作成されました。ただし、Apache モジュールとしても同様の問題が発生します。
実装コードを共有する 2 つのプロジェクトを作成することで、同一の実装を持つ ISAPI DLL と Apache モジュールの両方を作成することができました。したがって、それらの唯一の違いは、ホスト Web サービスへの接続方法です。これにより、このサービスをホストするための 3 つのオプションが得られます。
- IIS + ISAPI DLL
- アパッチ + アパッチ モジュール
- Apache + mod_isapi + ISAPI DLL。
どちらのプロジェクトも、テスト用に単純な Web SOAP サービスを実装しています。Delphi IDE を使用して新しい Soap Server アプリケーションを作成すると、すべてのシリアライゼーション、デシリアライゼーション、マーシャリングなどが自動生成コードによって処理されます。インターフェイスには、テスト用のいくつかの簡単な機能があります。
Apache モジュールを作成するには、次の手順に従う必要がありました。
- http://www.drbob42.com/examines/examin80.htm
- http://www.drbob42.com/Delphi7/Apache2040.htm
- http://leonardorame.blogspot.com/2009/04/apache-22x-modules-with-delphi.html
SOAP サービスが実装するインターフェースは非常に単純です。さまざまなことをテストするためのいくつかのバリエーションがあります。
TSendFileRequest と TSendFileResponse も非常に単純です。
インターフェイスの実装は、クライアントに送り返す結果オブジェクトを作成するだけのダミー コードでいっぱいです。実装に重要なコードはありません。
ISAPI を介して IIS でホストされている場合、サービスによって公開されているすべてのメソッドは完全に機能します。
Apache でホストされている場合、TRemotable パラメーターを含むメソッドにはエラーがあります。このインターフェイスでは、SendFile1 と SendFile5 が影響を受けます。これは、パラメーターとして TSendFileRequest があるためです。SendFile1 または SendFile5 への最初の呼び出しは期待どおりに機能します。SendFile1 または SendFile5 への呼び出しが成功した後、いずれかのメソッドを次に呼び出すと、アクセス違反が発生します。この動作は、Apache 共有オブジェクト モジュール、および mod_isapi を使用する ISAPI DLL の両方で観察されます。
どこに問題があるのかはわかりませんが、私のコード、Delphi コード、または Apache コードの 3 つの選択肢があります。どこにあるのかわかりません。
まったく同じバイナリ ISAPI DLL が IIS では機能するが Apache では機能しないため、この問題は非常にイライラさせられます。ISAPI ホストの実装の違いのせいだと思いますが、Apache 共有オブジェクト モジュールで同じ間違いが起こるということは、別のことが起こっていることを意味します。
完全を期すために、同じ Web サービスの CGI バージョンを作成することにしました。IIS で実行すると、CGI バージョンは完全に機能します。Apache で実行すると、すべての要求で次のエラーが発生します。「XML ドキュメントにはトップ レベルの要素が必要です。行: 0」
今日、アパッチは私を嫌っているようです。
asp.net-mvc - MVC2 + ASP.NET 4.0 + IIS6 + 拡張子のない URL、ワイルドカード マッピングは不要ですか?
asp.net 4.0 では、サーバーに送信されるすべてのリクエストを検査できるように、(iis6 で) トップレベルの isapi プラグインがインストールされるようになりました。これにより、拡張子のない URL を使用して MVC アプリケーションを実行し、ワイルドカード マッピングを必要とせずに aspnet isapi でそれらを正しく処理できるようにする必要がありますか (また、関連するパフォーマンスの低下を回避できますか)? これについて書かれたものはまだ見つかっておらず、調査する時間がありませんでした。ありがとう
iis - IIS 6 で ISAPI Rewrite を使用してサブドメインを別のドメインにマップしようとしています
IIS 6 および 7 で URL 書き換えを実験してきました。IIS 6 では、ISAPI Rewrite 3 を使用しており、あるサブドメインの URL を別のサブドメインにマップしようとしています。
http://subdomain1.domain.com/ *
次の場所にマップされます。
http://subdomain2.domain.com/ *
私はこれを使用してこれを達成しようとしました:
RewriteEngine on
RewriteCond ホスト: subdomain1.domain.com RewriteRule (.*) subdomain2.domain.com/$1
しかし、IIS ログまたは rewrite.log には何も起こらないか、表示されないようです。ここでロギングを有効にするには、何かが欠けているに違いありません - 何かアイデアはありますか? また、私のルールが機能していないように見える理由を誰かが提案できれば、それは大歓迎です。
もう 1 つの質問 (申し訳ありません!) - 書き換えモジュールを使用する IIS 7 について疑問に思っていました。書き換えルールを使用して、IIS の別のインスタンス (別のサーバー マシン上) でホストされているコンテンツにリダイレクトできますが、書き換えアクションを使用することはできません。単純に URL をマスクします - これは可能ですか? 現時点では、403 - 禁止されたエラーが発生しています。
助けてくれて本当にありがとうございます。
iis-7 - IIS7 ISAPI フィルターの問題を覆い隠す
現在、レガシ ASP アプリケーションを Windows Server 2000 および IIS5 から Windows Server 2008 および IIS7 に移行しようとしています。このアプリケーションの認証では、ISAPI フィルターを使用します。1 つの問題を除いて、アプリケーションと ISAPI フィルタの両方が新しい環境で動作します。問題のアプリケーションは、ルート アプリケーションになるように設定されています (たとえば、 http://hostname/application.aspにアクセスしてアクセスします)。記載された URL でアクセスすると、認証の詳細が要求され、ISAPI フィルターが正しいログインの詳細を渡されて、その処理を実行します。次に、application.asp を指す既定のドキュメントを IIS7 に追加しました。http://hostnameにアクセスしてアプリケーションにアクセスすると、ISAPI フィルターに間違ったログイン情報が渡されます。ISAPI フィルターは、次のメソッドを実装します。
その中で、pAuthent オブジェクトは、ISAPI フィルターを呼び出すときに IIS によって渡され、通常は認証ダイアログに入力された値を保持する pszUser プロパティを持ちます。私の場合 (既定のドキュメント エントリを使用して Web サイトにアクセスする場合)、pszUser プロパティは、代わりにアプリケーション プールを実行している Windows アカウントの値を保持します。わかりやすくするために、application.asp 部分に入力すると、ISAPI フィルターに正しい値が渡されます。
私はこの問題にかなり困惑しており、解決方法についての手がかりがありません。問題を解決するために、ISAPI フィルターを実際に再構築/変更することはできず、IIS の管理に関してはまったくの初心者です。
また、IIS に既定のドキュメント機能がインストールされていない場合でも、認証が機能することがわかりました。この機能がなければ、デフォルトのドキュメントは (当然のことながら) 機能しませんが、認証は機能します。認証が失敗するのは、デフォルト ドキュメント機能を追加した後でのみです。
ご協力いただきありがとうございます!
iis-7 - プログラムで IIS7 に ISAPI 拡張機能をインストールする
プログラムで Windows7 上の IIS7 に ISAPI 拡張機能をインストールしたい
(コントロール パネル -> プログラムと機能 -> Windows の機能の有効化または無効化 -> IIS -> WWW -> アプリケーション開発機能 -> ISAPI 拡張機能)。
基本的に、次のDISMコマンドでできることを達成したい
dism /online /Enable-Feature /FeatureName:IIS-ISAPIExtensions
Microsoft.Web.Administration を使用しようとしました。以下はコードです
applicationHost.config を更新します。私のコードで更新されたapplicationHost.configとDISMで更新された同じものを比較すると、それらはほとんど同じです。唯一の違いは、上記のコードではモジュール セクションに「lockItem=true」を設定していないことです。これを記述するとエラーが発生するためです。しかし、私はそれは問題ではないと思います。
ただし、上記のコードは機能をインストールせず、DISM はインストールします。違いはなんですか ?
私が行った別のテストがあります。
1) DISM で ISAPI 拡張機能を有効にしました 2) applicationHost.config のコピーを保存しました 3) DISM で ISAPI 拡張機能を無効にしました 4) 前に保存したコピーで apllicationHost.config を上書きしました
ISAPI 拡張機能はインストールされません。したがって、DISM は applicationHost.config を更新するだけでなく、それ以上のことを行います。では、それは何をし、プログラムで同じことをどのように達成できますか?
web-services - ISAPIWebサーバー内からのリモートデータベース接続を許可するようにIIS7を構成するにはどうすればよいですか。
Delphi 2010で構築したネイティブWebサービスアプリケーション(ISAPI)があります。現時点では、2つのメソッドしか公開していません。最初のEchoStringは、Webサービスが正しく機能しているというフィードバックを提供するように設計されており、DelphiWebサービスクライアントから送信する文字列に2文字を追加します。これは常に正常に機能します。
2番目に公開されたメソッドは、私が本当に興味を持っているメソッドです。このメソッドに、ClientDatasetのXMLコンテンツを含む文字列を渡します。サーバー側から、私のコードはこのXMLを取得してClientDatasetに挿入し、その後、このデータをサーバー側のデータベースに送信します。
サーバー側のInterBaseデータベースに接続するために、IBExpressコンポーネント(IBDatabase、IBTransaction、IBQueryなど)を使用しています。
問題は、IBDatabaseコンポーネントをそのデータベースに接続しようとするとすぐに、Webメソッドが失敗することです。私はこのエラーの他のすべての原因を除外したと思います。ClientDatasetを作成し、クライアントから送信されたかなり大きなClientDataSetのXMLを作成して、ネストされたデータセットを問題なく含めることができます(MidasLibユニットを使用しているため、ClientDataSetはDLLを読み込もうとしません)。IBDatabaseとそのさまざまなコンポーネントに接続する以外に、作成および構成できます。繰り返しますが、問題はありません。Webサービス内からIBDatabaseコンポーネントのConnectedプロパティをTrueに設定するとすぐに、失敗します。
私はWindows764ビットUltimate(開発マシン上)でIIS7.5を実行しています。特定のISAPIDLLと、Webサービスが存在するディレクトリ全体の両方に対して、Everyone(および特にIIS_IUSRS)に完全な制御権を付与しようとしました。これは問題を解決しませんでした。
これは完全にIIS7の特権の問題だと思います。Webサービスを使用してデータベースサーバーに書き込むことができるように、ISAPI WebサービスがInterBaseクライアントAPIに接続できるようにするにはどうすればよいですか?'''''''''''
ポストスクリプト:WebサービスからInterbaseへの接続は問題ではないようです。私はまだ正確な原因を突き止めていますが、Webサービス内からInterbaseに正常に接続できるようになりました。原因がわかったらこの投稿を更新しますが、この質問は無効になります。'''''''
ボブの答えを正しいものとしてマークしています。接続文字列が間違っていました。実際(これは恥ずかしいことですが、誤解を招くよりも恥ずかしいと思います)、
接続情報をリソース文字列に保存しました。with句で割り当てを行いました。DatabaseNameプロパティのリソース文字列の名前はDatabaseNameでした。with句により、リソース文字列の値ではなく、DatabaseNameプロパティがそれ自体に割り当てられました。DatabaseNameリソース文字列の前にユニット名(つまり、DatabaseName:= IBModUnit.DatabaseName;)を付けることで、問題を修正しました。
delphi - WebBroker と Delphi を使用してクリーンな URL を作成できますか?
WebBroker Web ページ/アプリケーションのクリーンな URL を作成できますか?
典型的な WebBroker URL は通常次のようになります。
hxxp://www.mywebsite.com/myapp.dll?name=フレッド
また
hxxp://www.mywebsite.com/myapp.dll/names/fred
私が好むのは:
hxxp://www.mywebsite.com/names/fred
Delphi/WebBroker でこれを達成する方法はありますか? (ISAPI/アパッチ)