2010-08-30 4 views
0

Я задаю этот вопрос на примере - у меня есть настройки, Nginx, Джанго, апач (Nginx пересылает SSL запросы Apache)Apache с двумя адресами и двумя различными сертификатами SSL

У меня есть веб-сайт https://www.xyz.com который имеет SSL сертификат, связанный с ним, и клиенты используют его при подключении. Позволяет сказать, у меня есть еще одно доменное имя www.abc.com, который я хочу, чтобы назначить его на том же сервере, xyz.com

То есть, когда пользователь вводит в браузере https://www.abc.com/ он должен показывать один и тот же сайт, как https://www.xyz.com/ ,

Чтобы достичь этого, нужно ли покупать другой сертификат ssl? если я это сделаю, как бы изменить файл http.conf, чтобы использовать этот новый сертификат для другого URL-адреса?

Или есть ли другой подход, который я могу использовать?

ответ

1

Я закончил покупку одного многодоменного сертификата (UCC) для двух доменов. и изменил конфигурацию nginx, чтобы направить два сайта на тот же сервер Apache.

Как и у nginx перед Apache, мне не нужно было изменять конфигурацию http.conf.

1

До тех пор, пока www.abc.com и www.xyz.com имеют разные IP-адреса, вы можете разместить их у одного и того же httpd-экземпляра. Вам понадобятся два сертификата (если оба они не являются поддоменами общего домена, и вы получаете сертификат подстановки). Установите их как два виртуальных хоста на базе IP с одним и тем же контентом.

Для получения дополнительной информации см. http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts.

<VirtualHost 127.0.0.1:443> 
    SSLEngine on 

    SSLCertificateFile  /etc/ssl/www.abc.com.crt 
    SSLCertificateKeyFile /etc/ssl/www.abc.com.key 
    # etc 
</VirtualHost> 
<VirtualHost 127.0.0.2:443> 
    SSLEngine on 

    SSLCertificateFile  /etc/ssl/www.xyz.com.crt 
    SSLCertificateKeyFile /etc/ssl/www.xyz.com.key 
    # etc 
</VirtualHost> 
+0

Привет, спасибо p00ya, что, если www.abc.com и www.xyz.com имеют одинаковый IP-адрес? У меня уже есть www.xyz.com на сервере, и я собираюсь зарегистрировать www.abc.com на тот же IP-адрес, чтобы у меня было два URL-адреса для одного и того же сайта. – Sujit

+0

Вы можете попробовать использовать SNI, как в ответе Turbo J, но многие браузеры не поддерживают это расширение TLS (например, Internet Explorer под Windows XP)! Если они действительно являются одним и тем же сайтом, считаете ли вы, что вы просто перенаправляете HTTP-перенаправление? – p00ya

1

Вы действительно пытались спросить Google? Одним из моих первых хитов является: http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
на вики apache.

Если у вас более одного IP-адреса, я бы рекомендовал использовать SSL на основе IP-адресов, а не на основе имени, поскольку более старые клиенты (IE на XP) не поддерживают SNI.

1

(Я копирую/вставки слегка модифицированную версию моего собственного ответа на this question. То, что не было предложено в существующих ответов до сих пор является использование нескольких предметных альтернативных имен.)

Простой путь должен состоять из www.abc.com и www.xyz.com на двух разных IP-адресах (возможно, на одном компьютере), и в этом случае вы можете настроить для каждого другого сертификата.

Если у вас есть один IP-адрес (и порт) для двух имен, если вы хотите использовать два разных сертификата, вам нужно будет использовать расширение Server Name Indication (SNI), которое относительно недавно (и может не быть поддерживаться всеми браузерами, но, похоже, работает с последними).

Если вы не можете использовать SNI, вам необходимо, чтобы один и тот же сертификат был действительным как для www.abc.com, так и www.xyz.com одновременно, что может быть достигнуто путем помещения двух записей DNS в расширение альтернативного имени субъекта или возможно, с помощью подстановочного знака, если шаблон для двух хостов подходит (обратите внимание, что подстановочные знаки вряд ли будут приемлемыми, если они предназначены для двух разных доменов, а не для поддоменов). Эти два варианта, вероятно, более дороги, чем два разных сертификата, с коммерческими ЦС.

Смежные вопросы