избавляемся от двойного редиректа


DirectorySlash Off

# Allow mod_rewrite to function when there is no trailing slash
RewriteOptions AllowNoSlash

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !(.*)/$
# RewriteRule ^(.*)$ $1/ [L,R=301]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]

Переводим сайт на HTTPS

В свете новостей

Google Chrome начнет помечать все http страницы как «не защищенные» с релизом Chrome 68 в июле 2018

Первым шагом заходим на бота от letsencrypt.org

https://certbot.eff.org/#ubuntutrusty-apache

и следуем инструкции, для моей версии подходило следующее

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache

$ sudo certbot --apache

и перевыпуск

sudo certbot renew --dry-run

Читать далее Переводим сайт на HTTPS

Сертификаты

С таким количеством установки сертификатов решил написать небольшую статью.

1. генерация сертификата

openssl genrsa -des3 -out serov.key 2048
openssl req -new -key serov.key -out serov.csr

запоминаем пароль, отправляем файл  serov.csr организации выпускающая сертификаты.

 

после получаем от корневого сертификата файлы. (в моем случае их 4)

корневой
промежуточный 1
промежуточный 2
сертификат домена

 

переименовываем их в

4.crt
3.crt
2.crt
1.crt

склеиваем

cat 4.crt 3.crt 2.crt 1.crt  > serov.crt

снимаем пароль с файла serov.key

openssl rsa -in serov.key -out serov.key

копируем в одну папку файлы serov.crt  serov.key

в nginx пишем путь до них

 ssl_certificate /etc/httpd/ssl/serov.crt;
 ssl_certificate_key /etc/httpd/ssl/serov.key;

между httpd и nginx сертификат не надо ставит, конечно если на одном сервера.

перезапускаем nginx

service nginx restart

проверяем дату

echo | openssl s_client -connect serov.eu:443 2>/dev/null | openssl x509 -noout -dates

Готово

PS. при склеивании сертификатов в crt, первый идет сертификат домена, потом промежуточные и в конец корневой.