1

localhost マシンで IIS と Apache HTTP Server を並行して実行していますが、Apache は別のポート (ポート 81) でリッスンしています。IIS はポート 80 をリッスンしています。ただし、そのポート番号を入力した場合にのみ、Apache の仮想ドメインにアクセスできます。たとえば、次のようになります。

http://virtual.myvirtualdomain.com:81 http://virtual.myvirtualdomain2.com:81

Apache がポート 81 であることを自動的に認識し、ポート番号の入力を強制しないようにするにはどうすればよいですか?

編集:

答えは、IIS を Apache にリダイレクトする必要があるようです。IIS 5.1 でそれがどのように行われるかについて説明できる人はいますか?

4

8 に答える 8

7

これは Apache に指示することではなく、ブラウザが何に接続するかを知ることです。IIS を Apache にリダイレクトさせるか、あきらめるかのどちらかです。

于 2009-01-26T15:26:11.360 に答える
3

クライアントが接続先を認識できるように、ポート番号を入力する必要があります。これはサーバーとは関係ありません。

/etc/servicesUnix システムでは、http のポートとして 81 をリストするように変更できる場合があります。しかし、それはポート 80 にあるすべての Web サイトへのアクセスを事実上無効にします。

または、ポート 80 で IIS を構成して、Apache 上のサイトへの要求をローカルにプロキシすることもできます。次に、すべてのクライアントが IIS にページを要求し、ポート 81 へのローカル接続を確立します。

于 2009-01-26T15:26:16.820 に答える
2

さらに調査を行ったところ、IIS 5.1 を Apache にリダイレクトできないことがわかりました。これは、複数の Web サイトが必要になるためです (ポート 81 で Apache の仮想ホストにリダイレクトするように設定します)。これは、Windows XP Pro 上の IIS 5.1 が複数の Web サイトを処理できないためです (スクリプト ハックなしでは同時に実行できません)。しかたがない。

于 2009-01-26T15:53:02.990 に答える
2

交換してみたら?ポート 80 で Apache をリッスンし、ポート 81 で IIS をリッスンして、Apache をリダイレクトしますか? Apache は、IIS 5.1 と同じようにマシンごとに 1 つの Web サイトに制限されるべきではありません。

于 2009-01-26T16:10:41.800 に答える
1

できません。81 は、Apache を探す場所をブラウザに伝えています。

于 2009-01-26T15:26:23.760 に答える
1

URL を入力すると、ブラウザがサイトに接続するために使用する特定のポートがあります。80 は、サーバーがチェックするデフォルトのポートです。ブラウザ経由で他のポートに接続する必要がある場合は、URL にポート番号を含める必要があります。ポート番号が指定されていない場合、ポートとして 80 を使用するように設定されているため、81 の入力を強制しているのは Apache ではなく、ブラウザーです。

Apache のポートを 80 に、IIS のポートを 81 に変更すると、ポート番号なしで Apache に接続できますが、IIS Web サーバーを使用する場合はポート番号を使用する必要があります。

Apacheを使用してIISにリダイレクトする背後にある他のアイデアが何であるかはわかりません。IISディレクトリのApacheのhttpd.confにエントリを作成すると、IISではなくApacheを使用してディレクトリに接続しているように思えます。ドメインをセットアップして、ポート 81 経由で apache に接続することができます。これは、ポート番号を隠す 1 つの方法です (正しくない可能性があります。80 以外のポートで apache を試したことはありません)。

于 2009-01-26T17:18:36.890 に答える
1

できません。

ポートを指定するのはWebクライアントの仕事であり、そのポートを指定するまで、Apache に到達することさえありません。

潜在的にできることは、IIS にも同じ HTTP/1.1 仮想ホストをリッスンさせ、302 Movedリダイレクトを発行してブラウザを正しいポート番号に送信するように手配することです。

または、マシンで 2 番目の IP アドレスを実行し、IIS を元の IP アドレスにバインドし、Apache を 2 番目の IP アドレスにバインドします。そうすれば、別のポートを使用する必要はまったくありません。

于 2009-01-26T15:26:53.150 に答える
1

あなたが求めることを正確に行う方法はありません。ほぼ唯一の方法は、IIS がサービスを提供する仮想ドメインに対して、ポート 81 で Apache に転送するように IIS を構成することです。アパッチ。少し効率が悪いですが、それはあなたのニーズを解決します。

于 2009-01-26T15:27:15.477 に答える