Проблемы SNI Apache с сертификатами SSL

У меня проблемы с конфигурациями VirtualHost на моем сервере. На моем сервере работает Ubuntu 14.04.5 LTS (GNU / Linux 4.4.0-31-generic x86_64) с Apache / 2.4.7 (Ubuntu).

Я много читал об Apache и SNI из других источников. потоков здесь, но я не смог решить свою конкретную проблему.

У меня есть несколько VirtualHosts, настроенных из разных доменов, каждый со своими собственными сертификатами SSL, например:

<VirtualHost *:80>
  ServerAdmin admin@mydomain.com
  ServerName mydomain.com
  ServerAlias www.mydomain.com
  DocumentRoot /home/user/mydomain.com/public_html
  ErrorLog /home/user/mydomain.com/logs/error.log
  CustomLog /home/user/mydomain.com/logs/access.log combined
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin admin@mydomain.com
  ServerName mydomain.com
  ServerAlias www.mydomain.com
  DocumentRoot /home/user/mydomain.com/public_html
  ErrorLog /home/user/mydomain.com/logs/error.log
  CustomLog /home/user/mydomain.com/logs/access.log combined
  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl/mydomain.com.crt
  SSLCertificateKeyFile /etc/apache2/ssl/mydomain.com.key
  SSLCACertificateFile /etc/apache2/ssl/mydomain.com.root.crt
  SSLCertificateChainFile /etc/apache2/ssl/mydomain.com.chain.crt
</VirtualHost>

<VirtualHost *:80>
  ServerAdmin admin@otherdomain.com
  ServerName otherdomain.com
  ServerAlias www.otherdomain.com
  DocumentRoot /home/user/otherdomain.com/public_html
  ErrorLog /home/user/otherdomain.com/logs/error.log
  CustomLog /home/user/otherdomain.com/logs/access.log combined
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin admin@otherdomain.com
  ServerName otherdomain.com
  ServerAlias www.otherdomain.com
  DocumentRoot /home/user/otherdomain.com/public_html
  ErrorLog /home/user/otherdomain.com/logs/error.log
  CustomLog /home/user/otherdomain.com/logs/access.log combined
  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl/otherdomain.com.crt
  SSLCertificateKeyFile /etc/apache2/ssl/otherdomain.com.key
  SSLCACertificateFile /etc/apache2/ssl/otherdomain.com.root.crt
  SSLCertificateChainFile /etc/apache2/ssl/otherdomain.com.chain.crt
</VirtualHost>

В большинстве случаев это работает нормально , для большинства браузеров, но время от времени на определенных устройствах или в случайное время, когда я пытаюсь перейти к " m в состоянии воспроизвести проблему.

Очень признателен за любую помощь.

1
задан 29 May 2017 в 22:24
1 ответ

Виртуальные хосты на основе имен не выводятся из эксплуатации. Настройка NameVirtualHost удаляется, так как она избыточна. Остальная конфигурация будет содержать достаточно информации для того, чтобы Apache знал, должна ли эта настройка быть включена или нет.

Также SNI не является настройкой, которую вы можете включить или выключить на стороне сервера. Либо клиент поддерживает его и отправляет поле SNI в самом первом сообщении, отправленном на сервер, либо клиент его не поддерживает, и сервер ничего не может с этим поделать.

Вашими настройками являются:

  • Получить отдельный IP-адрес для каждого домена.
  • Обновить клиентов, которые еще не поддерживают SNI, чтобы они могли использовать современное программное обеспечение.
  • Получите единый сертификат, охватывающий все домены.
  • Примите, что только первый домен будет работать на всех клиентах, а остальные домены сломаются на меньшинстве клиентов с устаревшим программным обеспечением.
1
ответ дан 3 December 2019 в 23:30

Теги

Похожие вопросы