У нас есть один экземпляр установки Wordpress 5.2.4 (/var/www/example.com/
) на сервере Ubuntu 16.04 с Apache 2.4.18 и OpenSSL 1.0.2g. В настоящее время на этом одном экземпляре Wordpress настроено еще 4 сайта. У каждого есть свой пример. т.е. example1.com
, example2.com
, example3.com
и т. д. *
Мы пытаемся установить сертификаты SSL для каждого из этих сайтов / примеров. Мне удалось настроить сертификат SSL для основного сайта example.com
.
Мы настраиваем отдельные конфиги сайта под sites-available
, и я включил 2 из них, example.com
и example1.com
.
Основной пример (example.com
) работает как положено. Трафик является маршрутом от http://example
до https://example.com
с правильным сертификатом. Однако, example1.com
, когда я пытаюсь перейти на https://example1.com
, сертификат, который извлекается, является сертификатом для основного сайта.
Возможно ли настроить Apache для работы с одним экземпляром Wordpress снесколько сайтов на нем и один IP и все еще имеют отдельные примеры сертификатов SSL?
/etc/apache2/apache2.conf
Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf
Конфигурация основного сайта: /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/example_com_error.log
CustomLog ${APACHE_LOG_DIR}/example_com_access.log combined
Redirect 301 /login https://account.example.com/login.jsp
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^/(.*) https://example.com/$1 [R,L]
</VirtualHost>
<VirtualHost example.com:443>
ServerName example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/star_example_com_public.crt
SSLCertificateKeyFile /etc/apache2/ssl/star_example_com_private.key
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/example_com_error.log
CustomLog ${APACHE_LOG_DIR}/example_com_access.log combined
Redirect 301 /login https://account.example.com/login.jsp
</VirtualHost>
Вторичныйсайт: /etc/apache2/sites-available/example1.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias www.example1.com
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/example1_com_error.log
CustomLog ${APACHE_LOG_DIR}/example1_com_access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName example1.com
ServerAlias www.example1.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/example1/star_example1.csr
SSLCertificateKeyFile /etc/apache2/ssl/example1/star_example1_private.key
DocumentRoot /var/www/example.com
</VirtualHost>