#apache #apache2 #virtualhost
#apache #apache2 #virtualhost
Вопрос:
Попытка заставить несколько доменов (потенциально десятки) использовать один и тот же корень документа, поскольку я хочу, чтобы laravel позаботился обо всей маршрутизации.
Сайты будут иметь пользовательские доменные имена, т.Е.. johnwilson.com , davidsmith.com , lisabrown.com и laravel отобразит шаблонную страницу. Я не хочу, чтобы URL-адрес переписывался в адресной строке для пользователя.
Я не могу заставить apache2 уважать конфигурацию моего виртуального хоста, особенно с использованием SSL.
Конфигурация представляет собой стек LAMP в Ubuntu. У меня есть два других сайта, связанных с запуском, которые уже успешно запущены на этом сервере, используя два отдельных корня документа. Они проксируются через cloudfare.
Эти «шаблонные» страницы, которые я просто собираюсь использовать, позволяют шифровать.
Я пробовал: 2 отдельных виртуальных хоста.
<VirtualHost *:443>
ServerName johnsmith.com.au
DocumentRoot /var/www/microsites/public
# letsencrypt certificate details here
</VirtualHost>
<VirtualHost *:443>
ServerName lisabrown.com.au
DocumentRoot /var/www/microsites/public
# letsencrypt certificate details here
</VirtualHost>
В этом случае johnsmith.com.au работает, но lisabrown.com.au просто перенаправляет на johnsmith.com.au . полностью переписать URL-адрес в адресной строке.
Я также пытался использовать ServerAlias, но это приводит меня к различным ошибкам, 404, SSL_INSECURE.
Как правильно это сделать? TIA
Ответ №1:
Используя следующие файлы conf (по одному на домен) Я заставил его работать так, как ожидалось. (и удаление автоматически созданного файла letsencrypt domain-le-ssl.conf)
<VirtualHost *:80>
ServerName domain.com.au
ServerAlias www.domain.com.au
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domain.com.au [OR]
RewriteCond %{SERVER_NAME} =domain.com.au
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName domain.com.au
ServerAdmin admin@domain.com.au
DocumentRoot /var/www/microsites/public
ErrorLog ${APACHE_LOG_DIR}/microsites/domain.error.log
CustomLog ${APACHE_LOG_DIR}/microsites/domain.access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain.com.au/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com.au/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>