Apache ssl сертификат ubuntu server

Дата публикации: 17 12 2014 Автор: PazitiFF
В последнее время всё больше сайтов переключаются на протокол с шифрованием https. В данной статье я расскажу, как это сделать для вебсервера apache 2.4. Хочу также напомнить, что для использования сертификата на сайте, его нужно купить, например в этой компании. В нашем же случае мы сгенерируем и подключим сертификаты для тестирования на примере ubuntu server. Для начала перейдём в директорию ssl веб-сервера apache
cd /etc/apache2/ssl/
Далее выполним команду для генерирования ключа безопасности для виртуального хоста, например mysite
openssl genrsa -out mysite.key 2048
После генерим сертификат для ключа
openssl req -new -x509 -key mysite.key -out mysite.cert -days 3650 -subj /CN=mysite
Отлично, теперь у нас в руках 2 интересующих нас файла mysite.key и mysite.cert. Далее их нужно добавить в конфиг виртуального хоста. Переходим в директорию виртуальных хостов и делаем изменения в файле хоста, например в mysite.conf
cd /etc/apache2/sites-available/
vim mysite.conf
Далее добавим в конфиг хоста конфигурацию для шифровального соединения https, которое работает по 443 порту. Так же сделаем принудительный редирект с http на https, чтобы сайт был доступен только по https Весь конфиг приводить не буду, покажу лишь добавление и расположение хоста :
<VirtualHost *:80>
          ServerName mysite
          Redirect / https://mysite/
 
          DocumentRoot /home/user/Sites/mysite/
 
          <Directory /home/user/Sites/mysite/>
             Options Indexes FollowSymLinks
             AllowOverride All
             Require all granted
           </Directory>
 
</VirtualHost>
 
<VirtualHost mysite:443>
	ServerName mysite
 
	SSLEngine on
	SSLCertificateKeyFile /etc/apache2/ssl/mysite.key
	SSLCertificateFile /etc/apache2/ssl/mysite.cert
	SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
 
        DocumentRoot /home/user/Sites/mysite/
 
        <Directory /home/user/Sites/mysite/>
           Options Indexes FollowSymLinks
           AllowOverride All
           Require all granted
        </Directory>       
</VirtualHost>
Ну вот и всё, осталось перезапустить apache и протестировать https соединение
sudo service apache2 restart

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Вы можете использовать подсветку исходного кода следующими тегами: <code>, <blockcode>, <apache>, <bash>, <css>, <drupal6>, <html5>, <javascript>, <mysql>, <php>.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.