LINUX.ORG.RU
ФорумAdmin

Виртуальные сервера в Apache


0

0

Создаю виртуальные сервера. При заходе на любой из них открывется страница "adm.master.com". Что не так делаю:

NameVirtualHost *:443

<VirtualHost adm.master.com:443> SSLEngine on SSLCertificateFile /etc/httpd/server.crt SSLCertificateKeyFile /etc/httpd/server.key ServerName adm.master.com ServerAdmin webmaster@master.com DocumentRoot /usr/local/apache2/htdocs/adm CustomLog /var/log/httpd/adm.master.com combined DirectoryIndex admin.php </VirtualHost>

<VirtualHost client.master.com:443> SSLEngine on SSLCertificateFile /etc/httpd/client.crt SSLCertificateKeyFile /etc/httpd/client.key ServerName client.master.com ServerAdmin webmaster@master.com DocumentRoot /usr/local/apache2/htdocs/client CustomLog /var/log/httpd/client.master.com combined </VirtualHost>

anonymous

Прошу прощения за форматирование!

Создаю виртуальные сервера. При заходе на любой из них открывется страница "adm.master.com". Что не так делаю:

NameVirtualHost *:443

<VirtualHost adm.master.com:443>
        SSLEngine on
        SSLCertificateFile /etc/httpd/server.crt
        SSLCertificateKeyFile /etc/httpd/server.key
        ServerName adm.master.com
        ServerAdmin webmaster@master.com
        DocumentRoot  /usr/local/apache2/htdocs/adm
        CustomLog /var/log/httpd/adm.master.com combined
        DirectoryIndex admin.php
</VirtualHost>

<VirtualHost  client.master.com:443>
        SSLEngine on
        SSLCertificateFile /etc/httpd/client.crt
        SSLCertificateKeyFile /etc/httpd/client.key
        ServerName client.master.com
        ServerAdmin webmaster@master.com
        DocumentRoot /usr/local/apache2/htdocs/client
        CustomLog /var/log/httpd/client.master.com combined
</VirtualHost>

anonymous
()
Ответ на: комментарий от anonymous

r0mik истину глаголит.
для SSL не катят name-based виртуальные сайты.
либо каждому SSL сайту вешать свой IP, либо вешать их каждый на свой порт и использовать редирект с неSSL.
http://site1.ru -> https://site1.ru:10443
http://site2.ru -> https://site2.ru:10444
http://site3.ru -> https://site3.ru:10445
и т.д.

Marmirus ★★
()
Ответ на: комментарий от anonymous

Заработал вот такой вариант. Можно ли так использовать?

<VirtualHost xx.xx.xx.xx:80> ServerName client.master.com RewriteEngine on RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R,L] </VirtualHost>

<VirtualHost *> SSLEngine on SSLCertificateFile /etc/httpd/server.crt SSLCertificateKeyFile /etc/httpd/server.key ServerName adm.master.com ServerAdmin webmaster@master.com DocumentRoot /usr/local/apache2/htdocs/adm CustomLog /var/log/httpd/adm.master.com combined DirectoryIndex admin.php </VirtualHost>

<VirtualHost *> SSLEngine on SSLCertificateFile /etc/httpd/client.crt SSLCertificateKeyFile /etc/httpd/client.key ServerName client.master.com ServerAdmin webmaster@master.com DocumentRoot /usr/local/apache2/htdocs/client CustomLog /var/log/httpd/client.master.com combined </VirtualHost>

anonymous
()
Ответ на: комментарий от anonymous

Заработал вот такой вариант. Можно ли так использовать?

<VirtualHost xx.xx.xx.xx:80>
        ServerName client.master.com
        RewriteEngine on
        RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost *>
        SSLEngine on
        SSLCertificateFile /etc/httpd/server.crt
        SSLCertificateKeyFile /etc/httpd/server.key
        ServerName adm.master.com
        ServerAdmin webmaster@master.com
        DocumentRoot  /usr/local/apache2/htdocs/adm
        CustomLog /var/log/httpd/adm.master.com combined
        DirectoryIndex admin.php
</VirtualHost>

<VirtualHost *>
        SSLEngine on
        SSLCertificateFile /etc/httpd/client.crt
        SSLCertificateKeyFile /etc/httpd/client.key
        ServerName client.master.com
        ServerAdmin webmaster@master.com
        DocumentRoot /usr/local/apache2/htdocs/client
        CustomLog /var/log/httpd/client.master.com combined
</VirtualHost>

anonymous
()
Ответ на: комментарий от Marmirus

>и как оно работает? на adm.master.com и client.master.com - на каждый свой сертификат выдает?

Извиняюсь, ошибка. Сертификат один - server.*

anonymous
()
Ответ на: комментарий от anonymous

Да. Когда-то тоже была такая проблема. Самый верный способ - разные IP или порты и использовать тот же Rewrite или простой редирект.

Marmirus ★★
()
Ответ на: комментарий от Marmirus

Ну так криминального ничего нет в таком конфиге? Единственное, еще закомментил строчку "ServerName client.master.com" в первом вирт.хосте. Все работает

anonymous
()
Ответ на: комментарий от anonymous

криминального ничего, если ругань на сертификат не будет никого смущать. и если нет непонятливых клиентов с IE7, из всех он громче всех ругается и не хочет пускать, пока сам нагло не войдешь :)

Marmirus ★★
()
Ответ на: комментарий от anonymous

Читайте доки, они рулят (http://httpd.apache.org/docs/2.0/mod/core.html)

-----------------------------------
Note that the argument to the <VirtualHost> directive must exactly (!)
match the argument to the NameVirtualHost directive.
     NameVirtualHost 1.2.3.4
     <VirtualHost 1.2.3.4>
     # ...
     </VirtualHost>
-------------------------------------

FreeOne
()

как раз новость на первой странице про это, оказывается можно и на одном IP, нужно использовать mod_gnutls. Не знал...

Marmirus ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.