0

2 つの asp.net プロジェクトがあります。API と Web クライアント プロジェクト。テストするときは、同じ発信元ポリシーを克服する必要があるため、異なるポートでテストすることはできません。

Visual Studio を使用して API を : にマップしましたhttp://localhost/apiが、他のプロジェクトを にマップすることはできませんhttp://localhost/。ルートにする必要があるのは、アプリケーションにルートへの参照 (フォーム、スクリプトなど) が含まれているためです/。いくつか読んだ後、私はwwwrootやりたくない に公開する必要があります。

私が想定する次のオプションは、ドメインを仮想ディレクトリhttp://localhost/webhttp://localhost/api=>someDomain.comおよびにマップすることですsomeDomain.com/api。どうすればいいですか?ホスト ファイルの編集が機能しない:

http://localhost/web    app.com
http://localhost/api    api.app.com

問題(どちらかを解決するとうまくいきます):

  1. 参照問題を解決するには、 をポイントhttp://localhost/します。http://localhost/web
  2. に仮想ディレクトリを作成しますhttp://localhost/ここに画像の説明を入力
  3. ドメインを localhost 仮想ディレクトリにマップします。
4

1 に答える 1

2

localhost で「リバース プロキシ」を設定して、必要なことを行うことができます。

基本的に、これはリレーとして機能します。クライアントが に接続するhttp://localhost/apiと、プロキシはそのリクエストをリレーしhttp://somedomain.com/apiて応答を取得し、元のクライアントに応答を返すことができます。クライアントから見ると、リクエストは localhost に対して行われ、レスポンスは localhost から送信されます。ネームサーバーをいじることはありません。

IIS チームによるリバース プロキシの発表

IIS6 を使用している場合、または Microsoft 拡張機能を使用したくない場合は、他のオプションがあります。1 つはIIRFです。

于 2012-05-06T02:17:39.120 に答える