Подстановочный знак SSL ведет себя несовместимо через браузеры / ОС / компьютеры

Оказывается, что более трудно сделать это с rsync чем с другими инструментами. Корректный ответ для rsync Steven Monai, но самый легкий способ сделать это должно использовать также cp -al или pax -rwl в системах, где -l не допустимая опция для cp:

pax -rwl $DATA $DATA/../upgrade_tmp

или

cp -al $DATA/ $DATA/../upgrade_tmp/
5
задан 4 January 2013 в 12:48
4 ответа

OK so Christopher Perrin put me on the right track with SSLCertificateChainFile - thanks. Here are the specifics, in case they help someone else. I'm using Plesk 11, and obviously the paths I refer to will be different for others.

When I create the subdomain ssltest.bblhosted.com, Plesk creates a file at /var/www/vhosts/ssltest.bblhosted.com/conf/13558069200.18494000_httpd.include (or similar). This file effectively serves the purpose of a vhost.conf file (or vhost_ssl.conf), except that it's automatically generated by plesk, and will be automatically overriden each time you change settings through Plesk.

The file contains the line:

SSLCertificateFile /usr/local/psa/var/certificates/cert-Eq8jue

which shows where to find my SSL certificate. What it doesn't contain is a line indicating where to find the CA certificate. So it should contain the line:

SSLCertificateChainFile /usr/local/psa/var/certificates/cert-t8ReAO

(Obviously the path should point to your own CA Certificate). As far as I can tell, the fact that this line is not included is a bug in Plesk. You could add the line to that file, directly below the SSLCertificateFile line, and then restart Apache, and it would work - HOWEVER, if you do that, the file will get overriden next time you change the settings for that domain in Plesk, and you'll lose your changes. At the top of the file, Plesk gives this warning:

#ATTENTION!
#
#DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
#SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED.
#
#IF YOU REQUIRE TO APPLY CUSTOM MODIFICATIONS, PERFORM THEM IN THE  FOLLOWING FILES:

#/var/www/vhosts/ssltest.bblhosted.com/conf/vhost.conf
#/var/www/vhosts/ssltest.bblhosted.com/conf/vhost_ssl.conf

So, I created /var/www/vhosts/ssltest.bblhosted.com/conf/vhost_ssl.conf and added the single line to it:

SSLCertificateChainFile /usr/local/psa/var/certificates/cert-t8ReAO

You don't need to add anything else but that single line. From what I know, all other settings will still get taken from the default httpd.include file generated by Plesk.

Now, you have to tell Plesk to look for the vhost_ssl.conf file, because it won't by default - even though you've created it! Do this by logging in via SSH and executing this command:

/usr/local/psa/admin/bin/httpdmng --reconfigure-all

That will tell Plesk to look for vhost.conf (and vhost_ssl.conf) for all domains. You can also do it for just a single domain if need be.

Last, restart Apache, and the SSL works!

Note that if you add another subdomain, you need to go through the whole process again, including executing the terminal command to make Plesk look for vhost.conf and vhost_ssl.conf for your new domain or subdomain.

3
ответ дан 3 December 2019 в 01:02

Возможно, ваша цепочка сертификатов не завершена. Возможно, вам потребуется добавить RapidSSL CA Bundle . к вашему сертификату.

В Apache у вас есть опция SSLCertificateChainFile . Укажите путь, по которому вы сохранили RapidSSL CA Bundle .

Другой вариант - добавить сертификаты цепочки к вашим собственным, добавив их к вашему сертификату, как это

cat mycert.pem RapidSSL_CA_bundle.pem >> mychainedcert.pem

Это должно решить проблему.

Объяснение

Очевидно, вы купили сертификат на RapidSSL. Однако RapidSSL не является одним из центров сертификации, которым доверяют ваши браузеры. Это не проблема, потому что ваш браузер доверяет GeoTrust, а GeoTrust доверяет RapidSSL. Вам просто нужно показать браузеру сертификат, подтверждающий это. Вот почему вам необходимо включить файл цепочки.

8
ответ дан 3 December 2019 в 01:02

Недавно я настроил именно этот сценарий. Мне нужно будет проверить дальше, НО:

При проверке данных вашего сертификата вы получите:

Nome DNS: * .bblhosted.com Nome DNS: bblhosted.com

У вас bblhosted.com как AltDNSName.

Я решил проблему, с которой вы столкнулись, имея один сертификат для корневого домена и один сертификат с подстановочными знаками для каждого другого поддомена.

Таким образом, маска шаблона сертификата будет соответствовать указанному URL-адресу всеми возможными способами, которыми браузер должен его проверять.

TL; DR: получить два новых сертификата, один с просто «bblhosted.com» как altDnsName / CN и один с "* .bblhosted.com".

РЕДАКТИРОВАТЬ: Вы можете проверить, является ли это проблемой, выполнив несколько бесплатных сертификатов от ребят с http://www.cacert.org . Я не стал беспокоиться о коммерческом сертификате, и у меня он есть в качестве основных сертификатов ssl. Единственная проблема заключается в том, что большинство ОС не поставляют свой корневой сертификат, поэтому вам придется установить его самостоятельно.

2
ответ дан 3 December 2019 в 01:02

Сертификат может содержать специальное расширение доступа к информации о полномочиях ( RFC-3280 )с URL-адресом сертификата эмитента. Большинство браузеров могут использовать расширение AIA для загрузки отсутствующего промежуточного сертификата для завершения цепочки сертификатов. Но некоторые клиенты (мобильные браузеры, OpenSSL) не поддерживают это расширение, поэтому они сообщают о таком сертификате как о ненадежном.

Вы можете решить проблему неполной цепочки сертификатов вручную, объединив все сертификаты из сертификата в доверенный корневой сертификат (эксклюзивный, в указанном порядке), чтобы предотвратить такие проблемы. Обратите внимание: доверенного корневого сертификата там не должно быть, поскольку он уже включен в хранилище корневых сертификатов системы.

Вы должны иметь возможность получать промежуточные сертификаты от издателя и объединять их вместе. Кстати, я написал сценарий для автоматизации процедуры, он перебирает расширение AIA для вывода правильно связанных сертификатов. https://github.com/zakjan/cert-chain-resolver

0
ответ дан 3 December 2019 в 01:02

Теги

Похожие вопросы