2009-05-22 34 views
8

私は、既存のIIS 6.0 Webサイトに機能を追加するタスクを与えられています。これを行うために、私はASP.NET MVCアプリケーションを構築しました。それは自分のサイトとして展開するとうまく動作しますが、実際のサイトに仮想ディレクトリとして展開しようとすると動作しません。私のIIS仮想ディレクトリはhttp:// localhostでは動作しますが、http:// computernameでは動作しません。

サーバー名はCWEBSERVERで、IPは192.168.1.11です。 IISマネージャを見てから、これはサイトの構造である:

(Default Website) (root) 
    - PRODUCTION (vDir) 
    - CONTENT (not a vDir) 
    - DATAFOLDER (vDir, contains MVC app, just added by me, not working) 

奇妙なことは、私はそれが動作するサーバー上のブラウザから以下のURLの入力時ということである。

http://localhost/DATAFOLDER/account.aspx 
http://127.0.0.1/DATAFOLDER/account.aspx 
http://192.168.1.11/DATAFOLDER/account.aspx 

次のURL(これは私が作業する必要があり1)はしないです。

http://CWEBSERVER/DATAFOLDER/account.aspx 

私は取得していますエラーは、「リソースが見つかりません。」です

もっと見ると、http://CWEBSERVERへのリクエストはPRODUCTION vDirに送られますが、http://localhostまたはhttp://192.168.1.11へのコールはウェブサイトのルートに行きます。私はこれが元のサイト設計者によってセットアップされたものだと思います。私はこの設定を変更する方法がわかりませんが、実際に影響を受ける他のディレクトリがたくさんあるので、私はそれを変更できないと思います。私が指摘しておきたいもう一つは、コンテンツフォルダはhttp://CWEBSERVER/CONTENTにアクセスしてアクセス可能です。 http://CWEBSERVERが私にルートを指していると思っていたので、これは本当に奇妙なので、 "/ CONTENT"が実際にCONTENTフォルダに到達できるとは思わないでしょう。

私の問題はこれです:http://CWEBSERVER/DATAFOLDER経由でデータフォルダにアクセスするにはどうしたらいいですか?私は、DATAFOLDER vDir をPRODUCTION vDirのの中に置くだけでいいと思います。私はそれを試してみました、そして、ローカルホストまたはIPを使用すると、これは経由まだアクセス可能です:

http://localhost/PRODUCTION/DATAFOLDER/account.aspx 
http://127.0.0.1/PRODUCTION/DATAFOLDER/account.aspx 
http://192.168.1.11/PRODUCTION/DATAFOLDER/account.aspx 

私はCWEBSERVERを使用し、しかし、それはまだ失敗:

http://CWEBSERVER/DATAFOLDER/account.aspx 

エラーは、リソースがすることはできません「まだです見つかりました。誰かがこれについていくつかの光を当てることができますか?具体的には、私はこれらの質問している:

  1. はどのようhttp://localhostルートに行き、そしてhttp://CWEBSERVER PRODUCTION VDIRに行くのですか?この設定はどこで変更できますか?
  2. なぜ "http://localhost/PRODUCTION/DATAFOLDER/account.aspx"は動作しますが、 "http://CWEBSERVER/DATAFOLDER/account.aspx"は動作しませんか?

この問題に対する承認された回答(奨励金が授与される)は、http://CWEBSERVER/DATAFOLDER/account.aspxにアクセスできるようにする必要があります。ありがとう!

+0

あなたはどのようなエラーを取得しているにアクセスすることができますか? –

+0

ping cwebserverとあなたのURLにそのIPアドレスを使用し、それが動作するかどうかを確認してください。これは、DNS /ファイアウォールの問題か、それとも問題なのかを教えてくれます。 –

答えて

11

ほとんどの場合、IISはIPアドレスにのみバインドされています。 IISマネージャーに移動し、Webサイトのプロパティに移動します。次に、Webサイトタブから、プロパティに移動します。

そのホストヘッダー値のIDを追加します。

必要に応じて複数のバインディングを追加できます。

更新

私は、私はあなたが今欲しいものを知っていると思います。 IISマネージャーで、既定のWebサイトを展開します。プロダクション仮想ディレクトリを右クリックし、 "Create Virtual Directory"を選択します。この新しい1つのDATAFOLDERと呼んでください。次に、これをファイルシステム上の既存の場所に関連付けます。

私は実際にこれを少しきれいにする必要があると思います。私が最初にやることは、すべてが実際にどのようにアクセスされるのかを決めることです。言い換えれば、彼らがタイプするときhttp://www.mysite.org/それは何であるはずですか?それがPRODUCTIONディレクトリの場合は、新しいサイトを作成し、それをPRODUCTIONディレクトリに指定し、その下にDATAFOLDER仮想アプリケーションを作成します。 %Windir%は/ SYSTEM32 /ドライバ/ etc/hostsのクリスとして

+0

チップをありがとう。アイデンティティのリストを見ると、ポート80の "Default"が表示されます。また、私が見つけたバンチの情報も追加しました。ご協力ありがとうございました!私はあなたが私に伝えることができるもののために非常に礼儀正しいです。 – skb

+0

更新していただきありがとうございます。私はDATAFOLDER vDirをPRODUCTION vDirの下に追加しようとしましたが、なんらかの理由でまだwww.mysite.org/DATAFOLDERを使ってアクセスできません。 localhost/PRODUCTION/DATAFOLDERは動作します。 www.mysite.orgがPRODUCTION vDirに誘導される理由をまず知ることができたら、それが役に立つかもしれないと思うが、localhostはウェブサイトのルートに行く。多分、私はこの違いを理解できれば、まだ何かを作っているのが分かりません。何か案は? – skb

+0

あなたは本当にバインディングをやり直すべきです。それは、PRODUCTIONのための仮想ディレクトリのように思えます。 新しいサイトから始めて、www.mysite.orgバインディングを作成し、それをPRODUCTIONディレクトリに指定します。次に、データフォルダを指す仮想ディレクトリをその下に追加します。 – NotMe

0

追加「192.168.1.11のcwebserver」生き生きとし、他のホスト名のためのより多くのバインディングを追加したりする設定で新しいサイトを追加同じ内容。 IISはホストヘッダー情報を参照して応答し、ポート80への単一のバインディングを持つ既定のWebサイトしかない場合、すべての可能なヘッダーを処理しません。

マシン名や内部DNSエントリのような社内的な名前の場合は、デフォルトのバインディングでそのジョブを実行させる可能性があります。テストで動作しない場合は、その状況のバインドを追加します(CWEBSERVERまたはmysite.org)。あなたがそれを気にするならば、wwwの有無にかかわらずそれをテストしてください。

同じコンテンツのIISに複数の「サイト」を追加することには、大きな欠点はありません。たとえば、あなたはmarketingsite.comがあなた続い/PRODUCTION/DATAFOLDER/index.html

指さ/PRODUCTION/DATAFOLDER/index.html

mysite.orgを指摘している可能性が異なるSSL設定などを持つようなことを行うことができます。私のWebサーバーでは、何かが間違っていない限り(既定のWebサイトに新しい外部IPアドレスを設定し、バインディングをまだ変更していない場合を除き)何もヒットしません。

しかし、基本的には、すべての可能なアドレスを必要な方法で処理するまで、IISに設定を追加するだけです。

+1

ありがとうございますが、これは問題ではありません。他の多くのマシンからもアクセスできる必要があります。 – skb

1

行うには

+0

私はあなたが参照しているものの反対をしようとしています。私は同じコンテンツに対して複数の「サイト」を望んでいないので、異種のコンテンツを1つのサイトに「マージ」したい。 私は既定のサイトを持っています。このサイトは、 "www.mysite.org"が指し示すPRODUCTION vDirを持っています(私はこのvDirが "www.mysite.org"の "root"になってしまうのを理解できませんが、 "localhost"そうではありませんが、vDirまたはサイトの設定は表示されません)。私はlocalhostを気にしません、mysite.org/DATAFOLDERに別のvDirを指し示すだけです。これは可能ですか? – skb

5

私は回答リスト全体を通過していませんが、次の方法でこの解決策を見つけました。私のウェブページリンクはlocalhostで動作していますが、IPまたはコンピュータ名では動作しません。特にGREAT IE(****)には何のエラーもありません。

これを修正するために、IEの信頼済みサイトにサイトを追加しました。

いくつかの不満を軽減するのに役立つかもしれません!

+0

はい、それは多くの不満を停止します!ありがとう! – DrCord

2

一時的なIISサーバーに静的IPを割り当てることによって解決された同様の問題がありました。 (私は192.168.56.101だったダイナミックに割り当てられたIPアドレスと同じIPアドレスを割り当てました)

これは誰かを助けるかもしれません。

ファイアウォールの設定については、thisもチェックしてください。私にとって

1

それはファイアウォールの問題だった:

  1. 移動先:[コントロールパネル] - > [Windowsファイアウォールは - リストの一番下に> Windowsファイアウォールを介したプログラムまたは機能を許可

  2. スクロールして、 wwwサービス(http)のチェックボックスを選択します。今

  3. 保存

私はhttp://computername.domain

関連する問題