web-dev-qa-db-ja.com

IIS-ウェブサイトはローカルホスト設定の1つのポートでのみ機能します

IIS 8.5で、ポート85にWindows Server 2012 R2オペレーティングシステムを搭載したWebサイト(DotNetNuke Webサイト)を構成しました。http://localhost:85を使用してWebサイトにアクセスしましたが、Webサイトは正常に機能しました。 192.168.5.187:85としてアクセスできるように、IPアドレスに関してIIS)に別のバインディングをWebサイトに追加しました。ただし、取得したIPアドレスを介してアクセスできません。エラーページ。具体的には、「404 Not Foundエラーページ」が表示されます。

さらに調査したところ、Webサイトは1つのポート(85)でのみ機能することがわかりました。別のポートを指すようにバインディングを変更すると、Webサイトは機能しません(404 Not Foundエラーが発生します)。現在のサイトバインディングは

IP Address      Port
    *            85

そしてウェブサイトはうまく働きます。このバインディングをに変更すると

IP Address      Port
     *           83 (infact anything other than 85)

webサイトが機能しません(404 Not Foundエラーが発生します)

要約する:

  1. IPアドレスを持つバインディングを追加すると、Webサイトが機能しません。 (404 Not Foundエラーが発生します)

  2. localhostを使用する場合、Webサイトは85以外のポートでは機能しません。 (404 Not FOundエラーが発生します)

私はこれを理解するのに苦労しているので、IPアドレスを介してこのウェブサイトにアクセスできるようにする必要があるので、誰かが私を助けることができます。

3
Satwik Nadkarny

対応するバインディングをIISに追加した後、DNNは同じインストールと同じIISアプリケーションで複数のポータルをサポートするため、バインディングもDNNで指定する必要があります。それ以外の場合は、DNNによって処理されている間の各要求、404エラーで終了します。

DNNレベルでバインディングを設定するには、メニューの[ホスト]> [サイト管理]に従ってポータルエイリアス(バインディング)を指定し、[ポータルエイリアス]セクションを編集します。ポータルエイリアスチェックを追加するには http://www.dnnsoftware.com/wiki/page/portal-alias

DNNを最初にインストールしたときとは異なる別のポートを追加し、[サイトエイリアスの自動追加]設定が有効になっていない場合、 IISバインディングを追加した後、そのポートを使用して新しいポータルエイリアスを追加する必要もあります。ポータルエイリアスは、この場合、「localhost:83」になります。これは、「自動[サイトエイリアスの追加]はデフォルトで有効になっていますこのオプションを手動で無効にするか、2つ目のポータルを作成した場合、自動ポータルエイリアスは追加されません

また、アプリケーションが初期化されるとポータルエイリアスがキャッシュされるため、ローカルキャッシュをクリアすることを忘れないでください(メニュー[ツール]> [キャッシュのクリア])。ポータルエイリアスを追加/削除すると、キャッシュは自動的にクリアされますが、特定の「webfarm/cachingProvider」シナリオによっては注意が必要な場合があります。

お役に立てれば!

4
David Rodriguez

この問題に遭遇した人には、次の解決策があります。

Webサイトに新しいバインディングを追加するたびに、データベースのPortalAliasテーブルが更新されます。これは、DNNによって自動的に行われるものです。 DNNがウェブページリクエストを受信すると、ウェブページのdomain urlPortalAliasテーブルに保存されているアドレスと照合し、ウェブページを処理します。 domain urlとアドレスが一致しない場合は、403または404 HTTPエラーのいずれかが出力として提供されます。

ただし、DNNがバインディングの自動追加に失敗する場合があります。したがって、Webページが特定のIISバインディングで機能していない場合は、対応するデータベースのPortaAliasテーブルを確認することから始めてください。

お役に立てば幸いです!!!

1
Satwik Nadkarny

試した他のポートをすでに使用している別のアプリケーションがある可能性があります。コマンドを開きます-プロンプトを表示して「netstat-a」を実行し、出力を質問に追加して、何が起こっているのかを診断できるようにします。

0
James