2012-03-06 8 views
1

私はWindows 2008 R2サーバー上に別のWebアプリケーションを設定しています。私は、次のことを達成しようとしています:IIS 7ファイアウォールセキュリティを処理するためのURLリライトまたはリバースプロキシ

  1. http://myserver/は、私は、WebベースのCRMアプリケーションをインストールしたhttp://myserver:1234/に「書き換え」すべきである静的なHTMLページ

  2. http://myserver/crmでローカルフォルダを指している必要があります。

私たちは、ファイアウォールのポートを開くように変更プロセスを持っているので、代わりに1234ポートを開くためにそれらを得るための、私はむしろ、人々はちょうどhttp://myserver/crmを経由して行くと、IISは、舞台裏、ポート事業を非表示にする必要があります。

  1. この場合、リバースプロキシが必要ですか?または、単純なインバウンドルールですか?
  2. このウェブサイトでこのルールを設定する必要がありますか?
  3. デフォルトのWebサイトで「CRM」仮想ディレクトリを作成する必要はありますか?
  4. また、任意のルールの例が役立ちます。
  5. これはファイアウォールでポートを開く必要がないという目的を達成することを願っています...?

おかげで (これは別の質問に似ていますが、私は、リバースプロキシまたは単純なインバウンドルールが必要な場合、私は確信していなかった場合は申し訳ありません。)

答えて

1
  1. あなたは、インバウンドとアウトバウンドのルールを必要としています。この目標を達成する方法はリバースプロキシと呼ばれます。
  2. レベルの処理http://myserver/ドメインまたはGlobalレベルです。
  3. No.
  4. 出発点として以下のルールを使用してください。
  5. リバースプロキシを使用して目標を達成することは可能でしょう。

IIS書き換えルール:

<rules> 
    <rule name="CrmInbound"> 
     <match url="^crm(.*)" /> 
     <action type="Rewrite" url="http://myserver:1234/{R:1}" /> 
    </rule> 
</rules> 
<outboundRules> 
    <rule name="CrmOutbound" preCondition="OnlyHtml"> 
     <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="http://myserver:1234(.*)" /> 
     <action type="Rewrite" value="http://myserver/crm(.*)" /> 
    </rule> 
    <preConditions> 
     <preCondition name="OnlyHtml"> 
      <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> 
     </preCondition> 
    </preConditions> 
</outboundRules> 
+0

感謝。私は近いと思う。 http:// myserver /とhttp:// myserver/crm /の両方で内部サーバーエラーを取得しています。何が起こっているかを見るためにトレースを掘り下げます。 –

+0

これで、アウトバウンド部分を無効にしました。少なくとも、内部サーバーのエラーはなくなりました。メインのmyserverサイトが正しく表示され、myserver/crmに移動しますが、ローカルとネットワークの両方に空白のページが表示されます。おそらくアウトバウンドを何とか調整する必要があります。 –

+0

小さなアップデート:myserverをmyserver:1234に書き換える単純なルールを適用しようとしましたが、正常に動作します。しかし、myserver/crmをmyserver:1234に書き直そうとしています。これは、アウトバウンドルールを入れるとHTTP500になります。 –

関連する問題