02.09.2016 04:02 Обновлено: 18.05.2022 14:31
HTTPS на сайте с сервером AltLinux
Возникла необходимость сделать доступ к сайту только через HTTPS.
Сервер стоит AltLinux.
Сначала нужно сгенерировать ключ и сертификат:
1 |
openssl req -new -x509 -days 1000 -keyout mysitepass.key -out mysite.pem |
Ключ генерируется с паролем, что неудобно, т.к. каждый раз при запуске сервера этот пароль будет спрашиваться. Можно снять пароль с ключа:
1 |
openssl rsa -in mysitepass.key -out mysite.key |
Теперь копируем ключ и сертификат туда, где сервер будет их смотреть. Я скопировал сюда:
1 2 |
/etc/httpd2/conf/ssl.crt/mysite.pem /etc/httpd2/conf/ssl.key/mysite.key |
Теперь остаётся настроить апач и виртуальный хост. Активируем mod_ssl:
1 |
a2enmod ssl |
И добавляем дефолтные настройки HTTPS:
1 |
a2ensite default_https |
Ну и добавляем в файл с хостом для :80
1 2 3 4 5 6 7 8 9 |
NameVirtualHost mysite.ru:443 <VirtualHost *:443> ServerAdmin mail@mysite.ru DocumentRoot "/var/www/mysite.ru" ServerName mysite.ru SSLEngine on SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire SSLCertificateFile /etc/httpd2/conf/ssl.crt/mysite.pem SSLCertificateKeyFile /etc/httpd2/conf/ssl.key/mysite.key |
В :80 можно доюавить строчку:
1 |
Redirect / https://mysite.ru/ |
После чего добавляем порт на прослушку:
1 |
a2enport https |