web-dev-qa-db-ja.com

2つのhttps仮想ホストと同じIPを作成します

IP「1.1.1.1」を使用し、構成されているドメイン「domain1.com」があります:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName domain1.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
        ServerAdmin webmaster@localhost
        ServerName domain1.com
.......
</VirtualHost>

同じドメイン「domain2.com」を使用する新しいドメイン名を追加しようとしました

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName domain2.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
        ServerAdmin webmaster@localhost
        ServerName domain2.com
.......
</VirtualHost>

しかし、Apacheを再起動すると次のように表示されます。

[warn] VirtualHost 1.1.1.1:443 overlaps with VirtualHost 1.1.1.1:443, the first has precedence, perhaps you need a NameVirtualHost directive

そして、それらのいずれかを開こうとすると、最初のドメイン証明書がSSLがないように表示され、2番目のドメインは大丈夫でした。

2
MohammedSimba

仮想ホスティング中にNameVirtualHostを追加する必要があります

NameVirtualHost 1.1.1.1:443
<VirtualHost 1.1.1.1:443>
# ...
</VirtualHost>

すべてのインターフェイスでリクエストを受信する場合は、*:443の引数を使用できます

Apache Documentation からヘルプを受けることができます。

のような追加:

Listen 80
Listen 443

NameVirtualHost 1.1.1.1:80
NameVirtualHost 1.1.1.1:443

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName domain1.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
        ServerAdmin webmaster@localhost
        ServerName domain1.com
.......
</VirtualHost>

 <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName domain2.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
        ServerAdmin webmaster@localhost
        ServerName domain2.com
.......
</VirtualHost>
3
pl_rock