{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Feet'овый блог: нататкі з тэгам ssl",
    "_rss_description": "Вся жизнедеятельность человека через призму женских стоп и девичьих ступней. Качественные фото и интересный авторский контент. Советы по жизни и работе. Философские рассуждения и пища для размышления.",
    "_rss_language": "be",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/feet.tf\/tags\/ssl\/",
    "feed_url": "https:\/\/feet.tf\/tags\/ssl\/json\/",
    "icon": "https:\/\/feet.tf\/pictures\/userpic\/userpic@2x.jpg?1706430300",
    "authors": [
        {
            "name": "Мистер Фит",
            "url": "https:\/\/feet.tf\/",
            "avatar": "https:\/\/feet.tf\/pictures\/userpic\/userpic@2x.jpg?1706430300"
        }
    ],
    "items": [
        {
            "id": "399",
            "url": "https:\/\/feet.tf\/all\/nastroyka-https-na-apache-dlya-neskolkih-saytov-na-odnom-ip-adre\/",
            "title": "Настройка https на apache для нескольких сайтов на одном ip-адресе",
            "content_html": "<p>Пока вы спали и отдыхали, я качал мозг — прошел сложный пусть по настройке сервера на apache.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/feet.tf\/pictures\/apache-https-one-ip.jpg\" width=\"1207\" height=\"1280\" alt=\"\" \/>\n<\/div>\n<p>Как известно, гугл начинает учитывать защищенный протокол (http<b>s<\/b>), как хороший фактор ранжирования. Иными словами, если у вас есть сертификат защищенного соединения, то ваш сайт будет показываться в поиске выше.<\/p>\n<h2>Получение сертификата<\/h2>\n<p>Сертификат я бесплатно получил на startssl.com. Это достаточно просто. Идете на сайт, регистрируетесь. Подтверждаете домен, скачиваете программу для генерации ключей (под Windows), генерируете секретный ключ (я выбрал 4096 бит и sha512) и загружаете обратно запрос на сертификат. Через минуту вам дают скачать сертификат.<\/p>\n<p>В итоге у вас есть файл секретного ключа site.key и файл сертификата site.crt<\/p>\n<h2>Настройка сервера apache<\/h2>\n<p>У меня была следующая ситуация. Под апачем крутилось несколько сайтов, а сертификат я получил только для одного из них. Поэтому, когда я настроил virtualhost на прием запросов на порт 443 для своего сайта, то на запрос с https начали отзываться все сайты этого сервера, но показывается только сайт с сертификатом.<\/p>\n<p>Проблема связана с тем, что SSL работает не с сайтом, а ip-адресом. Соединение устанавливается с сервером по ip-адресу. Внутри соединения отдаются сайты — как бог на душу положит. Изначально стандарт защищенного соединения создавался из расчета, что на защищенный сайт будет отдельный выделенный ip-адрес.<\/p>\n<p>Для решения этой проблемы я настроил Апач следующим образом. Во-первых, в файле конфигурации включаем прослушивание помимо порта 80 еще и порта 443:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Listen 80 \nListen 443<\/code><\/pre><p>Для вашего сайта, для которого вы получили ключ и сертификат, в файле конфигурации apache вы прописываете:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;VirtualHost *:80&gt;\nServerName secure-site.by\nServerAlias  www.secure-site.by\nServerAdmin admin@localhost\n…\n&lt;\/VirtualHost&gt;\n\n&lt;VirtualHost *:443&gt;\nUseCanonicalName On\nServerName secure-site.by\nServerAlias  www.secure-site.by\nServerAdmin admin@localhost\nSSLEngine on\nSSLCertificateFile \/etc\/configs\/apache\/secure-site.crt\nSSLCertificateKeyFile \/etc\/configs\/apache\/secure-site.key\n…\n&lt;\/VirtualHost&gt;<\/code><\/pre><p>Эти настройки позволяют показывать наш сайт по защищенному соединению.<\/p>\n<p>Далее всех остальных сайтов на хостинге (которые у вас без сертификата) обязательно прописываем блоки virtualhost следующего вида:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;VirtualHost *:80&gt;\nServerName site.by\nServerAlias  www.site.by\nServerAdmin admin@localhost\n…\n&lt;\/VirtualHost&gt;\n\n&lt;VirtualHost *:443&gt;\nUseCanonicalName On\nServerName site.by\nServerAlias  www.site.by\nServerAdmin admin@localhost\nRewriteCond %{HTTP_HOST} ^site.by\nRewriteRule ^\/(.*)$ http:\/\/site.by\/$1 [L,R=301]\nSSLEngine on\nSSLCertificateFile \/etc\/configs\/apache\/secure-site.crt\nSSLCertificateKeyFile \/etc\/configs\/apache\/secure-site.key\n…\n&lt;\/VirtualHost&gt;<\/code><\/pre><p>Это позволяет Апачу отдавать правильный сайт как для соединения по http, так и по https. Во втором случае апач принимает соединение на сайт (без поддержки https) и переадресовывает на протокол http.<\/p>\n<p>После изменения конфигурационного файла апача его необходимо перезапускать — service apache2 restart<\/p>\n<p>Чтобы вкурить это и настроить потребовалась 6 часов. Вполне возможно, что есть косяки с настройкой, но пока работает 🤪<\/p>\n",
            "summary": "Пока вы спали и отдыхали, я качал мозг — прошел сложный пусть по настройке сервера на apache",
            "date_published": "2016-09-21T15:25:59+03:00",
            "date_modified": "2022-09-16T23:24:10+03:00",
            "tags": [
                "2016",
                "https",
                "ssl",
                "tls",
                "безопасность",
                "сервер",
                "хостинг"
            ],
            "image": "https:\/\/feet.tf\/pictures\/apache-https-one-ip.jpg",
            "_date_published_rfc2822": "Wed, 21 Sep 2016 15:25:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "399",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/feet.tf\/pictures\/apache-https-one-ip.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}