Настройка нескольких сертификатов SSL на одном экземпляре Wordpress с включенным мультисайтом - PullRequest
0 голосов
/ 24 октября 2019

У нас есть один экземпляр установки 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>


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...