Назад | Перейти на главную страницу

vhosts с разными хостами и http / https

У меня есть файл внизу в моем каталоге vhosts.d, и он называется hosts.conf (из того, что я понял, имя не проблема). Теперь есть разные хосты, как вы можете видеть, если я использую http (порт 80), вообще никаких проблем, я могу перебросить с одного веб-сайта на другой, но если я использую https (порт 443), независимо от того, какой веб-сайт я набираю в своем браузере, я всегда в конечном итоге на веб-сайте, который первым указан в списке с портом 443 (в данном случае mobile-dev1.*.Это). Очевидно, в моем настоящем файле нет * написано, но правильное название сайта.

<VirtualHost 10.65.200.7:80>
    DocumentRoot "/srv/www/htdocs/public"
    ServerName portal.***.it
    <Directory "/srv/www/htdocs/public">
        allow from all
    </Directory>
</VirtualHost>

<VirtualHost 10.65.200.7:80>
DocumentRoot /srv/mobile-dev1/public
ServerName mobile-dev1.***.it
<Directory /srv/mobile-dev1/public>
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost 10.65.200.7:443>
DocumentRoot /srv/mobile-dev1/public
ServerName mobile-dev1.***.it
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile    /etc/ssl/certs/wildcard_***_it.pem
    SSLCertificateKeyFile /etc/ssl/private/wildcard_***_it.key
    SSLCertificateChainFile /etc/ssl/certs/RapidSSLCA.crt
<Directory /srv/mobile-dev1/public>
allow from all
Options +Indexes
</Directory>

<VirtualHost 10.65.200.7:80>
DocumentRoot /srv/mobile-dev2/public
ServerName mobile-dev2.***.it
<Directory /srv/mobile-dev2/public>
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost 10.65.200.7:443>
DocumentRoot /srv/mobile-dev2/public
ServerName mobile-dev2.***.it
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile    /etc/ssl/certs/wildcard_***_it.pem
    SSLCertificateKeyFile /etc/ssl/private/wildcard_***_it.key
    SSLCertificateChainFile /etc/ssl/certs/RapidSSLCA.crt
<Directory /srv/mobile-dev2/public>
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost 10.65.200.7:80>
DocumentRoot /srv/mobile-test/public
ServerName mobile-test.***.it
<Directory /srv/mobile-test/public>
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost 10.65.200.7:443>
DocumentRoot /srv/mobile-test/public
ServerName mobile-test.***.it
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile    /etc/ssl/certs/wildcard_***_it.pem
    SSLCertificateKeyFile /etc/ssl/private/wildcard_***_it.key
    SSLCertificateChainFile /etc/ssl/certs/RapidSSLCA.crt
<Directory /srv/mobile-test/public>
allow from all
Options +Indexes
</Directory>
</VirtualHost>

Спасибо за любую помощь, проблема сводит меня с ума, так как, скорее всего, это будет что-то простое ..

На ум приходят две вещи:

  • У тебя нет NameVirtualHosts директива. Он может быть в одном из других ваших файлов конфигурации, но вам понадобится NameVirtualHosts 10.65.200.7:443 где-нибудь, чтобы это работало.

  • Возможно, вы используете браузер, который не поддерживает SNI. Если память не изменяет, ни одна версия IE под XP не поддерживает SNI. Вам это нужно, потому что у вас есть несколько виртуальных хостов SSL с общим IP-адресом, и единственный способ, которым веб-сервер может различать их, - это использовать SNI.