Здравствуйте, уважаемые пользователи. Столкнулся со следующей проблемой: Имеется web-сервер на базе Ubuntu 12.04 Server, где установлен apache2, php, mysql и phpmyadmin, где стоит сайт www.мойсайт.ru Также приобретен сертификат RapidSSL. В админке RapidSSL требуют выбрать web-сервер (apache2 + OpenSSL), а также ввести CSR: Подскажите пожалуйста, подробно, как добавить сертификат RapidSSL к www.мойдомен.ru?
нужно в httpd.conf (или apache.conf) прописать сертификат. пример того, как нужно делать, у них есть на сайте: https://knowledge.rapidssl.com/supp...t/index?page=content&actp=CROSSLINK&id=SO6252 или по-русски: http://ru.ispdoc.com/index.php/Ручная_установка_SSL_сертификата
я не знаю как работает ваш сервис, но если генерировать в ручную и самому подписывать, то делается это просто: Код: openssl req -new -key server.key -out server.csr предполагаю когда вы получали сертификат с ним должен был даться csr-файл
У меня сертификат только оплачен, но не активирован. Вот что твориться в админке: View Screen Capture Я нажимаю на Activate, после чего появляется: View Screen Capture Тут, я так понимаю, необходимо на сервере сгенерировать CSR файл, данные из которого нужно внести в указанное окошко. По крайней мере когда устанавливал сертификат на хостинг (сpanel) оно так и было. А когда речь дошла до сервера, зашел в тупик...
у них на сайте помощь есть: https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO6506
Да, я прочитал это, спасибо. Сделал все по инструкции. Активировал сертификат и он был выслан мне на почту. Также была выслана сылка с инструкцией: https://knowledge.rapidssl.com/supp...t/index?page=content&actp=CROSSLINK&id=SO6252 С первыми пунктами разобрался, то есть создал файл, вписал туда сертификат, сохранил как public.crt, затем создал intermediate.crt (его содержание также было выслано по почте). И далее ступор... Как понимаю, нужно вписать что-то в httpd.conf , но он у меня пустой... И особо не понимаю, что нужно вписать, куда нужно положить созданные файлы...
скорее всего в убунте нужно вписывать в apache2.conf там будет блок типа: Код: <VirtualHost _default_:443> ServerName site.ru:443 SSLEngine on SSLCertificateFile /etc/apache2/ssl.crt/server.crt SSLCertificateKeyFile /etc/apache2/ssl.key/server.key </VirtualHost> вот в последние 2 строчки нужно указать путь к сертификату.
К сожалению, подобный блок отсутствует. Если я вписываю в httpd.conf эти строки: SSLCertificateFile /usr/local/ssl/crt/domainname.crt SSLCertificateKeyFile /usr/local/ssl/private/server.key SSLCACertificateFile /usr/local/ssl/crt/intermediate.crt То появляется ошибка при перезапуске апач, ругается....
Если вы просто вписываете эти строки в httpd.conf, то конечно будет ошибка. к сожалению я не знаю как устроена бубунта. в дебиане это всё делается в файле apache2.conf если файл httpd.conf пуст, то он так и должен оставаться пустым. Этот блок должен быть у виртуального хоста, возможно вам нужно поискать в /etc/apache2/site-enabled/ http://aboutubuntu.ru/apache-ssl-https-ubuntu.html вот на русском для убунты. https://www.digitalocean.com/commun...-a-ssl-certificate-on-apache-for-ubuntu-12-04 вот на английском. (вас должен интересовать step four)
Да, Вы правы, необходимо было прописать в site-available. Вроде бы заработало. Но сайт открывается только если вводить полный путь - https. Если без него, то не работает. Скажите, как можно исправить это? Вот содержание виртуального хоста: Код: <VirtualHost *:443> ServerAdmin [email protected] ServerName mysite.com SSLEngine on SSLCertificateFile /home/vgood/public.crt SSLCertificateKeyFile /home/vgood/www.mysite.key SSLCACertificateFile /home/vgood/intermediate.crt ServerAlias www.mysite.com DocumentRoot /home/vgood/www/mysite.com/public_html <Directory /home/vgood/www/mysite.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost>
всё верно. без ввода https, сайт будет стучаться по обычному протоколу http. если хотите сделать доступ только по https, то в .htaccess добавьте Код: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule .* https://%{HTTP_HOST}/%{REQUEST_URI} [R=301,L,QSA] </IfModule>
Прошу прощения за назойливость, но что-то не получается. Добавляю указанные строки в .htaccess, но без результата... Вот содержимое .htaccess (скрипт opencart):
а так: Код: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </IfModule>
а mod_rewrite точно работает? (хотя он редиректит ведь) попробуйте вместо всего это: Код: <IfDefine SSL> SSLRequireSSL </IfDefine> или этот Код: <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{HTTPS} != on RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R] </IfModule> или этот Код: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} 80 RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R] </IfModule>
Всем огромное спасибо, без вас не справился бы. Помогло добавлением: Код: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} в /etc/apache2/sites-enabled/000-default