同じVirtualHostsに複数のポートを宣言します。
SSLStrictSNIVHostCheck off
# Apache setup which will listen for and accept SSL connections on port 443.
Listen 443
# Listen for virtual Host requests on all IP addresses
NameVirtualHost *:443
<VirtualHost *:443>
ServerName domain.localhost
DocumentRoot "/Users/<my_user_name>/Sites/domain/public"
<Directory "/Users/<my_user_name>/Sites/domain/public">
Order allow,deny
Allow from all
</Directory>
# SSL Configuration
SSLEngine on
...
</VirtualHost>
「domain.localhost」の新しいポート(「listen」、ServerNameなど)を宣言するにはどうすればよいですか?
次のコードを追加すると、Apacheは 'domain.localhost'の他のすべてのサブドメイン(subdomain1.domain.localhost、subdomain2.domain.localhostなど)でも(多すぎる)動作します。
<VirtualHost *:80>
ServerName pjtmain.localhost:80
DocumentRoot "/Users/Toto85/Sites/pjtmain/public"
RackEnv development
<Directory "/Users/Toto85/Sites/pjtmain/public">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
質問があいまいですが、私がお手伝いします。
同じ仮想ホストを複数のポートでリッスンする場合は、次のようにします。
Listen 80
NameVirtualHost *:80
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:80 *:8080>
ServerName some.domain.name
ServerAlias some.other.domain.name
....
</VirtualHost>
一般的に言えば、異なるプロトコルを使用する必要がない限り、同じドメイン名の複数の名前ベースのVirtualHostsを定義することはありません。
SSL名ベースの仮想ホストの場合は、さらに注意する必要があります。定義上、同じIP:Portに複数の証明書を含めることはできません。そのため、証明書エラーを回避するには、提供されるすべてのドメイン名をカバーするワイルドカード証明書である必要があります。