サブドメインなしで異なる「ドメイン」を処理する

サブドメインなしで異なる「ドメイン」を処理する

HTTPS 経由でポート 80 へのリクエストのみを許可するサーバー (「myserver」) があります。もう 1 つの制限は、サブドメインを作成できないため、「myserver」を使用する必要があります。

現在、ポート 8000 で実行されている「frontend」とポート 9000 で実行されている「backend」の 2 つのアプリケーションがあります。理想的には、異なるドキュメント ルート、サーバー名などを使用して、「frontend.myserver」と「backend.myserver」という 2 つの仮想ホストを作成しますが、これは不可能なので、たとえば「myserver/frontend」や「myserver/backend」などのパスで作業する必要があると思います。

それは可能ですか? どの設定ディレクティブでそれが可能になるかご存知ですか? alias ディレクティブを使用するなどでしょうか?

答え1

はい、単一の IP アドレスのみでサブドメインを使用できます。Apache では、仮想サーバーを設定する必要があります。

最初の例をここで確認してください:https://httpd.apache.org/docs/2.2/vhosts/examples.html

提供するサイトごとに各仮想サーバーを設定することに注意してください。次の各項目を必ず設定してください。

  1. 各仮想サーバーのリスナーは*:80
  2. 各サイトのコンテンツディレクトリを指す DocumentRoot 値
  3. 配信したい各URLのServerName値

    <VirtualHost *:80>
    DocumentRoot /www/frontendcontent
    ServerName frontend.myserver
    </VirtualHost>
    
    <VirtualHost *:80>
    DocumentRoot /www/backendcontent
    ServerName backend.myserver
    </VirtualHost>
    

example.org や www.example.org のようなものを動作させたい場合、ServerAlias ディレクティブを使用する必要があるかもしれません。そのためには、ServerName 行と同じように ServerAlias を追加しますが、その仮想サーバー ServerName で動作させたいエイリアスを指定します。ServerAlias に関するドキュメントはここにありますが、上記の動作を確認してから、必要に応じて ServerAlias を操作することをお勧めします。 http://httpd.apache.org/docs/2.2/mod/core.html#serveralias

関連情報