8

既存のIIS6.0Webサイトに機能を追加するタスクが与えられました。そのために、ASP.NETMVCアプリケーションを作成しました。独自のサイトとして展開すると正常に機能しますが、実際に存在する必要のあるサイトに仮想ディレクトリとして展開しようとすると機能しないようです。

サーバー名は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を入力すると、次のURLが機能します。

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

次のURL(これは私が機能する必要があるものです)は機能しません:

http://CWEBSERVER/DATAFOLDER/account.aspx

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

よく調べてみると、http://CWEBSERVERへのリクエストはPRODUCTIONvDirに送信されますが、http://localhostまたはhttp://192.168.1.11への呼び出しはWebサイトのルートに送信されることに気付きました。これは元のサイトデザイナーによる設定だと思います。この設定を変更する方法はわかりませんが、実際には影響を受けるディレクトリが他にもたくさんあるため、とにかく変更できるとは思いません。私が指摘したかったもう1つのことは、これです。CONTENTフォルダーには、http:// CWEBSERVER/CONTENTにアクセスしてアクセスできます。http:// CWEBSERVERと思ったので、これは本当に奇妙ですルートを指さしたので、「/CONTENT」が実際にCONTENTフォルダにアクセスできるとは思いませんでした。

今私の問題はこれです: http:// CWEBSERVER / DATAFOLDERを介してDATAFOLDERにアクセスするにはどうすればよいですか?DATAFOLDERvDirをPRODUCTIONvDir内に配置するだけでよいと思います。私はそれを試しましたが、ローカルホストまたは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はPRODUCTIONvDirに移動しますか?この設定はどこで変更できますか?
  2. http://localhost/PRODUCTION/DATAFOLDER/account.aspx」は機能するのに「http://CWEBSERVER/DATAFOLDER/account.aspx」は機能しないのはなぜですか?

http://CWEBSERVER/DATAFOLDER/account.aspxにアクセスできるように、この質問に対する受け入れられた回答(賞金が授与される人)がそれを行うことができる必要があります。ありがとう!

4

6 に答える 6

11

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

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

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

アップデート

私はあなたが今何を望んでいるのか知っていると思います。IISマネージャーから、既定のWebサイトを展開します。次に、本番仮想ディレクトリを右クリックして、[仮想ディレクトリの作成]を選択します。この新しいものをDATAFOLDERと呼びます。次に、これをファイルシステム上の既存の場所に関連付けます。

これを少しクリーンアップする必要があると思います。私が最初にすることは、すべてが実際にどのようにアクセスされることになっているのかを決定することです。言い換えれば、彼らがhttp://www.mysite.org/と入力 すると、それは何であると思われますか?PRODUCTIONディレクトリの場合は、新しいサイトを作成してPRODUCTIONディレクトリをポイントし、その下にDATAFOLDER仮想アプリを作成します。

于 2009-05-22T15:04:35.857 に答える
5

回答リスト全体を調べたわけではありませんが、次の方法でこの解決策に出くわしました。私のWebページのリンクはlocalhost、IP名またはコンピューター名では機能しますが、機能しません。特にGREATIE(****)ではエラーは発生しません。

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

欲求不満を減らすのに役立つかもしれません!

于 2012-01-11T06:36:48.430 に答える
2

一時的なIISサーバーに静的IPを割り当てることで解決された、同様の問題がありました。(動的に割り当てられたものと同じIPアドレス、つまり192.168.56.101を割り当てました。)

これが誰かを助けますように。

ファイアウォール設定についてもこれを確認してください。

于 2013-09-23T13:39:58.930 に答える
1

Chris Livelyが言ったように実行し、他のホスト名のバインディングを追加するか、同じコンテンツに設定を含む新しいサイトを追加します。IISは、ホストヘッダー情報を確認することで応答します。ポート80へのバインドが1つしかない既定のWebサイトしかない場合、考えられるすべてのヘッダーを処理することはできません。

名前がマシン名や内部DNSエントリのように会社の内部にある場合は、デフォルトのバインディングに任せることでうまくいく可能性があります。テストで機能しない場合は、その状況のバインディングを追加します(CWEBSERVERまたはmysite.org)。両方の方法で機能することに関心がある場合は、wwwの有無にかかわらずテストしてください。

同じコンテンツに対してIISに複数の「サイト」を追加することにはそれほどマイナス面はありません。たとえば、

mysite.orgは/PRODUCTION/DATAFOLDER/index.htmlを指しています

marketingsite.comは/PRODUCTION/DATAFOLDER/index.htmlを指しています

次に、SSL設定を変えるなどのことができます。私のWebサーバーでは、何か問題が発生しない限り、デフォルトのWebサイトには何もヒットしません(新しい外部IPアドレスを設定し、バインディングをまだ変更する必要がないなど)。

毒を選びますが、基本的には、IISで可能なすべてのアドレスを希望どおりに処理するまで、IISに設定を追加する必要があります。

于 2009-05-22T17:58:14.840 に答える
1

私にとって、それはファイアウォールの問題でした:

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

  2. リストの一番下までスクロールし、wwwサービス(http)のチェックボックスを選択します。

  3. 保存する

これで、 http://computername.domainnameにアクセスできます

于 2014-01-28T21:02:28.947 に答える
0

'192.168.1.11 cwebserver'を%Windir%/ system32 / drivers / etc/hostsに追加します

于 2009-05-22T15:07:14.153 に答える