Windows 7での開発用にApacheサーバーを実行しています(XAMPP経由)。
デフォルトでは、http://リクエストをポート:80
でリッスンするように設定されています。
たとえば、ポート:1234
用に設定し、http://localhost:1234/
でWebドキュメントにアクセスできます。
私の質問はこれです-ポート:1234
でApacheサービスを提供することは可能ですが、リクエストのURIに:1234
を含める必要はありませんか?
編集/明確化:私が本当にやろうとしているのは、IIS(ポート80で)とApache(xampp)を同時に実行することです。 。
悲しいことに、これはブラウザによって制御されているため不可能です。デフォルトでは、ブラウザーはポート80に接続し、URLに他のものを追加する必要があります。
私が考えることができる3つの解決策がありますが、最終的にはクライアントマシンのいくつかのコーディングを変更する必要があるため、パブリックユーザーには機能しません。
ホストファイル方式
ホストファイルを変更し、ポートでローカルホストまたはドメイン名を解決できます。しかし、これは一般の訪問者には向かないでしょう。
ブラウザ編集
プラグインを作成してデフォルトのポート80をチェックし、ポート1234のチェックを追加することができます。Firefoxとchromeのプラグインは既に存在するか、コーディングが簡単だと思います。
リダイレクト
サーバーをポート80と1234の両方で実行し、80から1234にリダイレクトできます。これは、ブラウザーがポート80をチェックするためです。特に1234までのポートはチェックしません。ファイルはあなたのためにこれを行います。
XAMPからLAMP
XAMPを使用するのではなく、virtual-boxまたはvwplayerを使用して仮想環境内で実際のランプを使用します。そうすることにより、別のIPを受信するため、ポート80でApacheとiisの両方を実行できます。
しかし、XAMPが必要です
ランプはxampよりもはるかに優れていますが、それを引き続き使用する場合は、Windowsに仮想ネットワークカードを追加して(ループバックと呼ばれる)ポート80で両方を実行できます。xampとiisにバインドするIPを伝える必要があります。に。詳細については、次を参照してください: http://support.Microsoft.com/kb/83901
ブラウザーにURLを入力すると、ポートを明示的に指定しない限り、ブラウザーはポート80を想定します(パスがHTTPSである場合はポート443が想定されます)。技術的には、URLを書き換えて:80ポートディレクティブを含めることができます。ただ冗長です。
サーバー側では、ポート80でリッスンするサービスは1つだけです。したがって、IISとApacheの両方が80以外のポートを使用せずに接続を受け入れることはできません。
ソリューション...
この状況で一般的に行われるのは、一方のWebサーバー(もう一方のApacheは構成が簡単なためです)がポート80にセットアップされ、もう一方のサーバーのフロントエンドとして機能することです。つまり特定の要求(ホスト名、パス、またはその他の構成に基づいて)を他のサーバーに渡します。
これは、Apacheがフロントエンドとして機能し、リクエストを複数のTomcatサーバーに送信する場合に広範囲に行います。
これに使用するApache構成は「ProxyPass」と呼ばれ、名前が示すように、Apacheは単に仲介者として機能し、指定されたVirtualHostまたはLocationsのトラフィックを別のサーバーに渡します。他のホストまたはパスの場合、Apacheは独自のコンテンツを直接提供できます。
詳細はこちら: https://httpd.Apache.org/docs/2.2/mod/mod_proxy.html