Добавление SSL в Apache под Ubuntu

Ubuntu

Краткая инструкция, как добавить SSL сертификат для сайта работающего под Apache на Ubuntu.

Предполагается, что у вас уже есть установленный сервер с Ubuntu и Apache.

Первым делом активируем mod_ssl для Apache.

sudo a2enmod ssl


После этого включаем настройки по умолчанию.
sudo a2ensite default-ssl


Теперь добавляем файлы сертификата для сайта, в папку:/etc/ssl/certs/

Сертификат можно как купить на год, так и получить бесплатно но придётся в этом случае обычно есть какие нибудь ограничения, например такие как необходимость продления каждые три месяца, как здесь: https://www.sslforfree.com/

Должно быть три файла, примерно таких:
certificate.crt — Сам сертификат
private.key — Приватный ключ
ca_bundle.crt — Бандл файл (содержащий корневой и промежуточный сертификаты соответствующего центра сертификации).

После того, как разместили файлы сертификатов, прописываем параметры в default-ssl.conf в etc/apache2/sites-avaiable.

Пример содержимого файла default-ssl.conf:
<IfModule mod_ssl.c>
	<VirtualHost site.ru:443>
		ServerAdmin webmaster@localhost
		ServerName site.ru
		DocumentRoot /var/www/site
		ErrorLog ${APACHE_LOG_DIR}/site_ssl_error.log
		CustomLog ${APACHE_LOG_DIR}/site_ssl_access.log combined
		SSLEngine on
		SSLCertificateFile /etc/ssl/certs/sites/sslforfree/certificate.crt
		SSLCertificateKeyFile /etc/ssl/certs/sites/sslforfree/private.key
		SSLCertificateChainFile /etc/ssl/certs/sites/sslforfree/ca_bundle.crt
	</VirtualHost>
</IfModule>


Пример содержимого файла default-ssl.conf для ASP.NET Core приложения:
<IfModule mod_ssl.c>
	<VirtualHost site.ru:443>
		ServerAdmin webmaster@localhost
		ServerName site.ru
		ProxyPreserveHost On
		ProxyPass / http://127.0.0.1:5000/
		ProxyPassReverse / http://127.0.0.1:5000/
		ErrorLog ${APACHE_LOG_DIR}/site_ssl_error.log
		CustomLog ${APACHE_LOG_DIR}/site_ssl_access.log combined
		SSLEngine on
		SSLCertificateFile /etc/ssl/certs/sites/sslforfree/certificate.crt
		SSLCertificateKeyFile /etc/ssl/certs/sites/sslforfree/private.key
		SSLCertificateChainFile /etc/ssl/certs/sites/sslforfree/ca_bundle.crt
	</VirtualHost>
</IfModule>


В файле 000-default.conf делаем редирект на https версию:
<VirtualHost *:80>
	ServerName site.ru
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/site
	ErrorLog ${APACHE_LOG_DIR}/site_error.log
	CustomLog ${APACHE_LOG_DIR}/site_access.log combined

	Redirect / https://site.ru
</VirtualHost>


После всех манипуляций, не забываем проверить правильность изменений в конфигурационных файлах Apache:
apache2ctl -t

Должно вернуться:
Syntax OK


Если всё нормально, перезапускаем Apache:
service apache2 restart


И всё, теперь на сайт можно ходить по https.

Ubuntu Apache SSL

Оставить первый комментарий:

FAR Manager под Ubuntu Linux

Как же мне его не хватало! Случайно наткнулся на него в интернете, изначально искал на официальном с (читать далее...)

195  
Пример настройки Web приложения .NET Core в Ubuntu под Apache

Сейчас компания Microsoft всё больше сил уделяет .NET Core, который является по настоящему кроссплат (читать далее...)

50  
Ubuntu Делаем вход по FTP для конкретного пользователя в конкретную папку и запираем его там

Пример настроек для FTP ( vsftpd ) с запиранием пользователя в своей домашней папке. Установка FTP в (читать далее...)

39  
Запираем пользователя FTP в своей папке ( VSFTPD + Ubuntu )

Рецепт, чтобы запереть FTP пользователя в своей папке. Прописать в vsftpd.conf: local_enable=YES all (читать далее...)

37  
Ubuntu - доступ по SSH определённых групп пользователей

Для того чтобы по SSH могли получить доступ только пользователи определённых групп, В SSHD_CONFIG — (читать далее...)

22