Вы можете использовать определенную запись DNS (CNAME
или A
/ AAAA
) для каждого известного субдомена или запись DNS с подстановочным знаком, которая будет принимать * .example.com:
$ORIGIN example.com
foo IN A 12.34.6.78
bar IN A 12.34.6.78
или
$ORIGIN example.com
* IN A 12.34.6.78
Преимущество последнего заключается в том, что после запуска службы не требуется никаких изменений ни в конфигурации DNS, ни в Apache. Недостатком является то, что все такие подстановочные запросы должны (по определению) возвращать один и тот же IP-адрес.
Конфигурация Apache будет зависеть от ваших требований как для контроля конечного пользователя, так и для обеспечения безопасности. Обратите внимание: если у пользователей есть разрешение на запуск сценариев CGI на сервере, потребуется дополнительная настройка, чтобы обеспечить безопасную работу.
В зависимости от того, является ли контент статическим или динамическим, это также повлияет на вашу конфигурацию:
Используйте mod_vhost_alias
для сопоставления отдельных виртуальных хостов с их отдельными каталогами на сервере.
Если вы действительно хотите, создайте отдельный раздел <VirtualHost>
для каждого известного сайта, но затем вам придется перезапускать Apache каждый раз, когда новый пользователь регистрируется
Используйте один <VirtualHost>
, а затем посмотрите на часть имени хоста запрошенного URL (из переменной среды $SERVER_NAME
) в сценариях, которые визуализируют вывод, чтобы выяснить, какой пользовательский контент отображать. *