it-swarm-ja.com

apache2サイト対応の順序、サブドメイン/ドメイン構成を指定

まず、達成したいことを説明します。

まず、xxx.plという1つのメインドメインがあり、ドメインには4つのサブドメインがあります000.xxx.pl111.xxx.pl222.xxx.pl 333.xxx.pl。また、独自のサブドメインを持つ別のドメインyyy.plがあります(ほとんど同じです)。もちろん、それはより多くのドメインになるでしょうが、それは重要ではありません。

今必要なのは、vhostがhttp用に設定されていないドメインで、/ var/www/pl.xxxを指し、httpsでも同じです。 (つまり、デフォルトのサイトです)今のところ私が設定したもの(およびhttpsの場合も同様):

sites-enabled/999-default

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhosts/pl.xxx
    <Directory /var/www/vhosts/pl.xxx>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

したがって、私が理解している限り、このファイルは最後にロードされるので、より正確な答えがない場合はApacheがそこに移動します。

次に、デフォルトのサイト構成の前にロードされるメインドメインのファイル(HTTPとHTTPSはキーなどを除いて同じです)があります。

sites-enabled/998-pl.xxx

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName xxx.pl
    ServerAlias *.xxx.pl
    DocumentRoot /var/www/vhosts/pl.xxx
    <Directory /var/www/vhosts/pl.xxx>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

そして今、私は2つのドメイン(httpsのみ)を指定する必要があります。httpではsites-enabled/998-pl.xxxconfigを使用する必要があります。

sites-enabled/997-pl.xxx.000

ServerAdmin [email protected]

    ServerName 000.xxx.pl
    ServerAlias 000.xxx.pl

    DocumentRoot /var/www/vhosts/pl.xxx.000

    <Directory /var/www/vhosts/pl.xxx.000>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

そして、https上の他のドメインyyy.pl000.xxx.plアドレスと同じ構成を使用することを除いて、すべてがうまくいくでしょう。そして、このアドレスを使用するために000.xxx.plのみを制限するために必要なもの。他のすべての割り当てられていないドメインではありません。

だからhttps://yyy.pl | https://000.yyy.plなどは000.xxx.pl設定の代わりにdefault-ssl設定を使用する必要があります。

何が起こっているのか理解するのを手伝ってください。たぶん私はApache構成の使用法を誤解しました。

編集:

それが機能するので、一般的に問題は部分的に解決されます。しかし、サブドメイン構成の依存関係/ etc/hostsエントリについて興味深いことが1つあります。

1
l1em1on1

サイト有効/ 999-デフォルト

[...]

したがって、私が理解している限り、このファイルは最後にロードされるので、より正確な答えがない場合はApacheがそこに移動します。

これは逆に機能します。したがって、デフォルトとして表示されるサイトはfirst 1つのApacheが解析する必要があります。私はそれを000と名付けます-デフォルトまたは行くものは何でも他のもの。

1
Mike