У меня два ruby на rails 3 приложения, работающие на одном сервере (ubuntu 10.04), оба с SSL.
Вот мой конфигурационный файл apache:
<VirtualHost *:80>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example1/production/shared/example1.crt
SSLCertificateKeyFile /home/me/example1/production/shared/example1.key
SSLCertificateChainFile /home/me/example1/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>
<VirtualHost *:80>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example2/production/shared/iwanto.crt
SSLCertificateKeyFile /home/me/example2/production/shared/iwanto.key
SSLCertificateChainFile /home/me/example2/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>
В чем проблема:
При перезапуске моего сервера это дает мне вывод, подобный этому:
* Restarting web server apache2
[Sun Jun 17 17:57:49 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
... waiting [Sun Jun 17 17:57:50 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
При поиске, почему эта проблема появляется, я получил что-то вроде этого:
Вы не можете использовать виртуальные хосты на основе имен с SSL, потому что квитирование SSL (когда браузер принимает сертификат защищенного веб-сервера) происходит перед запросом HTTP, который идентифицирует соответствующий виртуальный хост на основе имени. Если вы планируете использовать виртуальные хосты на основе имен, помните, что они работают только с вашим незащищенным веб-сервером.
Но не может понять, как запустить два приложения ssl на одном сервере.
Может кто-нибудь помочь мне?
источник
_default_
vhosts в конфигурации, которую вы предоставили, так что они в другом месте. Какой выходapache2ctl -S
? (Да, на разных сертификатах можно запускать несколько vhosts на основе имен SSL при условии, что вам не нужно поддерживать клиентские браузеры под управлением Windows XP или другие, не поддерживающие TLS SNI. Требуется ли поддержка Windows ХР?)Ответы:
Почти готово!
Добавьте это в ports.conf или http.conf и сохраните вышеуказанный конфиг.
источник
Это также помогло мне выполнить "/ usr / sbin / apachectl -S". Эта команда выхода показывает ДВА файла «ssl.conf» по одному пути. Переместите или удалите файл нарушителя, и все должно работать после.
источник
Вы можете добавить это к вашей конфигурации Apache по адресу
/etc/apache2/ports.conf
:(Это работает в Apache 2.2 и 2.4)
источник