Apache с двумя URL и двумя разными сертификатами SSL - PullRequest
0 голосов
/ 30 августа 2010

Я спрошу это с примером - у меня есть настройка, nginx, django, apache (nginx пересылает ssl запросы в apache)

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

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

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

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

Ответы [ 4 ]

1 голос
/ 21 октября 2010

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

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

1 голос
/ 30 августа 2010

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

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

1 голос
/ 03 сентября 2010

(Я копирую / вставляю слегка измененную версию моего собственного ответа на этот вопрос . Что не было предложено в существующих ответах до сих пор, так это использование альтернативных названий нескольких субъектов.)

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

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

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

1 голос
/ 30 августа 2010

Пока 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...