как (если возможно) создать SSL-сертификат только для одного веб-сайта на моем сервере apache2?

Я видел несколько похожих постов, но это не помогло мне в моей конкретной проблеме. Поэтому я использую Ubuntu 12.04 на сервере с apache2 на нем. Есть около 5 сайтов, которые работают на Virtualhost и Namebased (используя один и тот же порт). Теперь мне нужна другая страница, которая требует SSL-сертификат. Можно ли запустить только одну страницу под ssl или я автоматически загружаю в нее все, когда настраиваю SSL?

Я знаю, что мне нужно поместить сервер SSL под порт 443 следующим образом:

[ 110]

Кто-нибудь знает и хочет мне объяснить, как настроить ssl только для одной страницы?

1
задан 30 September 2013 в 16:58

2 ответа

При установке Apache он создает шаблон для виртуального хоста по умолчанию, но у него также есть виртуальный хост по умолчанию ssl. Скопируйте этот файл и переименуйте его my_secure_site или что-то еще. Затем просто измените имя домена, корень документа, каталог, а также ключ и сертификат ssl на правильные значения для вашего сайта.

Также убедитесь, что у вас включен модуль ssl в Apache a2enmod mod-ssl. ports.conf должен иметь оператор, который заставит Apache прослушивать 443, если виртуальный домен использует ssl, но если у вас есть проблема, вы прослушиваете 443.

У меня была проблема, когда все мои хосты были определил <virtualhost 123.123.123.132> и когда я попытался определить сайт ssl как <virtualhost 123.123.123.132:443>. Я получил ошибку, подобную следующей.

[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

Чтобы избежать этого, все ваши виртуальные хосты должны явно определить порт <virtualhost 123.123.112.132:80>

0
ответ дан 30 September 2013 в 16:58

решен.

прежде всего проверьте ваше имя хоста, введя

hostname  (you will need it later)

enable ssl-mod

sudo a2enmod ssl

руководство с нуля:

Создайте папку для сертификата и ключа ssl

sudo mkdir /etc/apache2/ssl 

создать файл .key и .crt и после этого загрузить оба apache2 ...

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Когда вы вводите все данные для сертификата, убедитесь, что у вас совпадает общее имя с вашим именем хоста, в противном случае вы получите предупреждение в журнале apache2 за отсутствие правильного имени хоста. (не обязательно, но лучше этого избежать)

ваш ssl будет работать только через порт 443, поэтому вам нужно поместить слушатель 443 - ports.conf в ваш каталог apache, добавив Listen 443

чем создать свою страницу ssl в sites-available

sudo nano / etc / apache2 / sites-available / ssl

<virtualhost *:443>
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key
        DocumentRoot /var/www/yourlink
</virtualhost>

загрузить страницу с помощью sudo a2ensite ssl

sudo service apache2 reload
[ 1121] теперь он будет защищать только мою папку yourlink с помощью SSL.

0
ответ дан 30 September 2013 в 16:58

Другие вопросы по тегам:

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