Apache включить https windows

Как запустить Apache на Windows

Веб-сервер Apache – это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.

Если вам нужен только веб-сервер без дополнительных модулей, то вы можете ограничиться базовой настройкой.

Настройка Apache на Windows

На самом деле, базовая настройка веб-сервера крайне проста – необходимо только правильно указать путь до папки, в которой помещены веб-сайты – этого будет достаточно для запуска веб-сервера.

Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24. Поэтому если папку Apache24 из скаченного архива вы разархивируете в корень диска C, то вы можете вообще без настройки запустить веб-сервер следующей командой:

И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:

Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор).

Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf.

Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев – они начинаются с решётки (#) – комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.

Этот файл содержит не все возможные директивы – многие из них здесь отсутствуют, поскольку не требуются для большинства задач. Даже в этой заметки мы рассмотрим не все доступные в файле настройки – если описание чего-то пропущено, значит просто не нужно это трогать.

Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.

Думаю, вы уже обратили внимание, что веб-сервер отличается от других программ для Windows. Если вы знакомы с Linux или другими аналогичными операционными системами, вам должна быть знакома работа в консоли и редактирование текстовых файлов. Пути до файлов тоже записываются не совсем обычно для Windows. Сейчас главное уяснить два правила:

Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.

Первой идёт директива ServerRoot – это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.

Значение по умолчанию устанавливается двумя директивами:

Первая директива присваивает значение переменной SRVROOT, которое по умолчанию «c:/Apache24». Вторая директива присваивает значение переменной $ настройке ServerRoot.

ServerRoot — это та папка, в которой находятся все файлы веб-сервера – поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:

Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:

Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:

Можно указать несколько портов:

Или несколько IP и портов:

Вы можете использовать любые сочетания, главное правило – порт на указанном интерфейсе (IP) не должен быть занят другой программой.

Значение по умолчанию вполне подходит для локального веб-сервера – т.е. здесь можно просто ничего не менять.

Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.

На самом деле, всё действительно необходимое уже включено – и для работы большинства веб-сайтов менять ничего не нужно – особенно на локальном веб-сервере. Но есть одно исключение – модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:

и раскомментировать её, т.е. заменить на:

Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.

Директива ServerName – это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку

запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).

Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:

DocumentRoot – это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.

Конструкция нам уже встречалась. Но здесь указывается конкретная папка, для который делаются настройки. Эти настройки перезаписывают общие, которые указаны ранее.

Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!

Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks. Первая (Indexes) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.

Вторая опция (FollowSymLinks) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.

Директива AllowOverride установлена на None, это означает запрет использовать файлы .htaccess. На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite, ограничения доступа), поэтому я заменяю её значение на All, получается так:

А директива Require all granted открывает посетителям доступ для веб-документов.

Читайте также:  Windows grub rescue что делать

Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:

Другие настройки обычно не требуется менять для локального веб-сервера.

Источник

Настройка HTTPS в Apache на Windows 8.1

Автор: genadie от 4-02-2014, 20:41, посмотрело: 60076

Под строкой Listen 172.16.1.3:80

Находим и раскоментируем строчку:

Далее идем в конец фала и видим там блок:

Приводим его к следующему виду:

Сохраните изменения и закройте файл «httpd.conf»

Теперь откройте файл «C:\server\Apache24\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения:

Коментируем созданный нами в прошлой статье блок:

И вставляем следующее:

Так же добавим блок для перенаправления, если кто-то придёт на сайт по протоколу HTTP:

В итоге должно получится как-то так:

ServerName local.malwselennaia.ru
Redirect permanent / https://local.malwselennaia.ru

#
# DocumentRoot «C:/sait/local.malwselennaia.ru/www»
# ServerName local.malwselennaia.ru
# ErrorLog «C:/sait/local.malwselennaia.ru/error.log»
# CustomLog «C:/sait/local.malwselennaia.ru/access.log» common
#

SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
DocumentRoot «C:/sait/local.malwselennaia.ru/www»
ServerName local.malwselennaia.ru
ErrorLog «C:/sait/local.malwselennaia.ru/error.log»
CustomLog «C:/sait/local.malwselennaia.ru/access.log» common

Сохраните изменения и закройте файл «httpd-vhosts.conf»

В данном примере «local.malwselennaia.ru»- имя моего сайта, у себя вставляете свои данные.

DocumentRoot «C:/sait/local.malwselennaia.ru/www»- директория, в которой находится скрипт сайта.

ServerName local.malwselennaia.ru- имя, которое вводим в браузере.

SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key-директория, где лежит сертификат.

Создаем сертификат для нашего сервера.

Для этого заходим в каталог C:\server\Apache24\bin и открываем командную строку от имени администратора.

Теперь вводим следующее:

Видим ответ с предложением ввести пароль:

Вводим свой пароль и видим предложение ввести пароль еще раз:

Теперь необходимо ввести название страны (2 буквы кода):

Далее нужно ввести Штат или Провинция (необязательный параметр, я оставлю пустым):

Теперь название местности (оставлю пусто):

Название организации (опять пропущу):

Название Подразделения (оставлю пусто):

Дошли до: «Common Name (e.g. server FQDN or YOUR name) []:» Сдесь нужно прописать свое доменное имя (название сайта, в моем случае это local.malwselennaia.ru):

Вводим почту админа:

Вводим необязательное название компании (оставлю пусто):

После этого в каталоге C:\server\Apache24\bin образуется файлик my-server.csr

Далее последовательно даем команды:

Видим ответ с предложением ввести пароль:

Вводим пароль, получаем ответ:

Вот собственно и все, проверяем результат:

Получаем вот такой ответ:

Жмем «продолжить открытие веб-сайта»:

Источник

Настройка веб-сервера Apache под Windows


План работ:

В отличие от IIS, веб-серверApaсhe доступен как для Windows, так и для Linux и позволяет настроить работу публикаций по шифрованному протоколу http.

1. Установка Apache под Windows

Первым делом необходимо скачать и установить веб-сервер. Список доступных реализаций можно найти по ссылке, а в статье будет использован самый первый из списка дистрибутивов. Он поставляется в виде zip-архива без инсталлятора.

Поэтому нужно скачать архив и разархивировать в любую удобную папку, например, C:\Apache24. 24. В названии папки указан номер версии Apache. В данном случае используется версия 2.4. При публикации информационной базы из командной строки стоит обращать на это внимание, так как с платформой поставляются отдельные библиотеки веб-компонент для версий Apache 2.2 и 2.4.

После разархивирования файла архива, откройте командую строку от имени администратора. Самый простой вариант – это открыть меню Пуск и ввести cmd. После того, как приложение будет найдено щелкнуть по нему правой кнопкой мыши и выбрать пункт меню «Запустить от имени Администратора» («Run as Administrator»).

В командной строке переходим в директорию распакованного Apache с помощью команды cd. Например:

В директории Apache вводим команду:

Это установит службу Apache, которой можно будет управлять в окне служб.

На этом установка Apache закончена. Осталось только опубликовать информационную базу и указать файлы сертификата в настройках Apache.

2. Выпуск самоподписанного сертификата Windows

В отличии от IIS, сертификат для Apache выпускается с помощью стороннего программного обеспечения OpenSSL.

По умолчанию в операционной системе Windows его нет. Поэтому его нужно скачать и установить самостоятельно. Возможные дистрибутивы OpenSSL для Windows указаны на wiki странице официального сайта.
В статье рассматривается дистрибутив по ссылке, который указан первым на странице wiki.

После скачивания дистрибутива установки необходимо его запустить.

На первой странице нужно согласиться с условиями лицензионного соглашения (переключить переключатель на «I accept the agreement») и нажать кнопку «Next».

Мастер переключится на страницу размещения дистрибутива. Если местоположение не планируется изменять, то можно оставить поле в значении по умолчанию и нажать кнопку «Next».

На следующем шаге ничего менять не нужно и можно просто нажать «Next».

Дистрибутив готов к установке. Нужно нажимать кнопку «Install» и дождаться завершения установки.

Финальный шаг – это страница пожертвований в пользу поддержки проекта. Если в планы не входит перечисление пожертвований, то необходимо снять все флажки и нажать кнопку Finish.

Дистрибутив OpenSSL установлен и теперь можно переходить к генерации сертификата.

Для этого необходимо запустить интерпретатор командной строки от имени Администратора.

Теперь нужно проверить, что исполняемый файл доступен из переменных окружения операционной системы. Нужно ввести openssl и если будет выведено сообщение, аналогичному на картинке, то воспользуйтесь инструкцией по добавлению директории bin в переменную окружения PATH.

Директория bin для OpenSSL была указана на втором шаге установщика.

Если пришлось добавить директорию bin в переменные окружения, то необходимо перезапустить командную строку от имени администратора. В противном случае, если ввод перешел в режим конфигурирования OpenSSL, нужно нажать сочетание клавиш Ctrl + C.

Далее нужно перейти в директорию Apache и создать папку, в которой будут располагаться файлы сертификатов.

После создания нужно перейти в созданную директорию.

После чего требуется ввести команду генерации сертификата, где вместо нужно подставить имя компьютера, на котором планируется размещен Apache:

3. Публикация информационной базы Windows

Перед публикацией базы нужно отредактировать в любом удобном редакторе файл, расположенный в директории дистрибутива Apache.

Нужно в файле найти секцию VirtualHost _default_:443 и в ней заменить SSLCertificateFile и SSLCertificateKeyFile на полные пути к ключу и закрытого файла сертификата, на подготовленные заранее файлы.

После этого можно переходить к публикации базы.

Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню «Администрирование». После этого выбрать «Публикация информационной базы».

В окне публикации указать имя публикации и по желанию определить каталог, где будут находиться настройки публикации. Его также можно оставить по умолчанию.

После этого требуется нажать кнопку «Опубликовать» и дождаться окончания операции.

4. Проверка публикации

Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:

Для таких параметров ссылка будет иметь вид:

Источник

Настройка Apache + SSL для работы сайта по HTTPS

Инструкция написана для операционных систем на базе UNIX.

Шаг 1. Создание сертификата

Для боевого сервера, сертификат должен быть получен от доверенного центра сертификации — либо локального для компании, либо коммерческого. Или получен бесплатно от Let’s Ecnrypt.

Читайте также:  Seeds minecraft windows 10 edition

Для тестовой среды можно сгенерировать самоподписанный сертификат. Для этого сперва переходим в рабочую папку.

а) на Red Hat / CentOS:

б) на Debian / Ubuntu:

Создаем папку для сертификатов и переходим в нее:

И генерируем сертификат:

* в данном примере созданы открытый и закрытый ключи на 4 года (1461 день); значения параметра subj могут быть любыми в рамках тестирования.

Шаг 2. Установка модуля SSL для Apache

Прежде, чем устанавливать модуль, выполняем команду:

Если видим строчку, на подобие:

Спускаемся к шагу 3 данной инструкции.

Иначе, устанавливаем httpd ssl_module.

yum install mod_ssl

б) Для Ubuntu/Debian:

Открываем файл конфигурации apache:

* подразумевается, что используется apache 2.4.

Находим и снимаем комментарии со следующих строчек:

.
LoadModule ssl_module libexec/apache24/mod_ssl.so
.
Include etc/apache24/extra/httpd-ssl.conf
.

И ставим комментарии в следующих строках:

#
#SSLRandomSeed startup builtin
#SSLRandomSeed connect builtin
#

Чтобы настройки применились, необходимо перезапустить веб-сервер одной из команд:

systemctl restart httpd

systemctl restart apache2

service apache2 restart

* первая, как правило, используется в системах на базе RPM, вторая — DEB, третья — BSD.

Шаг 3. Настройка Apache

Выходим из папки ssl:

Открываем файл с настройкой виртуальный доменов.

* где site.conf — конфигурационный файл для конкретного сайта

В открытый файл добавляем следующее:

ServerName site.ru
DocumentRoot /var/www/apache/data
SSLEngine on
SSLCertificateFile ssl/cert.pem
SSLCertificateKeyFile ssl/cert.key

* где ServerName — домен сайта; DocumentRoot — расположение файлов сайта в системе; SSLCertificateFile и SSLCertificateKeyFile — пути до файлов ключей, которые были сгенерированы на шаге 1.

Проверяем корректность настроек в Apache:

Перечитываем конфигурацию apache:

Шаг 4. Проверка работоспособности

Открываем браузер и переходим на наш сайт, добавив https://. При использовании самоподписного сертификата (как в нашем случае), обозреватель выдаст предупреждение, что передача данных не безопасна. Подтверждаем наше намерение открыть сайт. Если все работает, переходим к шагу 5.

Если сайт не заработал, пробуем найти причину по log-файлу. Как правило, он находится в каталоге /var/log/apache или /var/log/httpd.

Шаг 5. Настройка редиректа

Чтобы все запросы по http автоматически перенаправлялись на https, необходимо настроить перенаправление (redirect). Есть несколько способов это сделать.

В конфигурационном файле

Открываем файл с настройкой виртуальных доменов (как в шаге 3) и дописываем следующее:

ServerName site.ru
RewriteEngine On
RewriteCond % off
RewriteRule (.*) https://%% [R=301,L]

* в конкретном примере, мы перенаправили все запросы для сайта site.ru.
** обратите особое внимание, что если у Вас уже есть VirtualHost *:80 для настраиваемого сайта, необходимо его закомментировать или отредактировать.

Установка модуля rewrite

Чтобы перенаправление работало в Apache, необходимо установить модуль rewrite.

а) в CentOS открываем конфигурационный файл и проверяем наличие строки:

LoadModule rewrite_module modules/mod_rewrite.so

* если ее нет, добавляем; если она закомментирована, снимаем комментарий.

systemctl restart httpd

systemctl restart apache2

Apache + NGINX

При использовании веб-сервера на базе и Apache и NGINX, как правило, наружу смотрит последний. В таком случае, именно он будет отвечать на http-запросы, и в таком случае нужно настраивать SSL на NGINX.

Как настроить Apache для работы по HTTPS (SSL)

Источник

Apache SSL: переход Apache на HTTPS

Нужен ли HTTPS?

Протокол HTTPS позволяет передавать данные между сайтом и пользователем в зашифрованном виде, то есть посторонние лица не могут увидеть содержимое передаваемых данных и изменить их.

Веб-сервер Apache поддерживает работу HTTPS. Для настройки HTTPS на Apache нужен SSL сертификат. Точнее говоря, «SSL сертификат» включает в себя приватный ключ и публичный ключ (сертификат). Также вместе с SSL ключами дополнительно могут присылаться сертификаты центра сертификации, корневой сертификат.

Сертификаты SSL

SSL сертификаты можно разделить на два вида: валидные и самоподписанные.

Сертификат SSL можно сгенерировать у себя на компьютере. Причём можно сгенерировать для любого доменного имени. Но к таким сертификатам у веб-браузеров нет доверия. Поэтому если открыть сайт, защищённый таким сертификатом, то веб-браузер напишет ошибку, что сертификат получен из ненадёжного источника и либо запретит открывать этот сайт, либо предложит перейти на сайт на ваш страх и риск. Это так называемые «самоподписанные сертификаты». Чтобы браузер не выдавал ошибку о ненадёжного сертификате, его нужно добавить в список доверенных. Такие сертификаты подойдут для тестирования веб-сервера и обучению настройки веб-сервера для работы с SSL и HTTPS. Ещё такой сертификат можно использовать на сайте, к которому имеет доступ ограниченный круг лиц (несколько человек) — например, для сайтов в локальной сети. В этом случае они все могут добавить сертификат в доверенные.

Для реального сайта такой сертификат не подойдёт.

Для рабочего окружения нужен валидный сертификат, его можно получить двумя способами:

1) получить тестовый сертификат на 3 месяца (затем его можно продлить)

2) купить сертификат — в этом случае он действует от года и более

Валидный сертификат отличается от самоподписанного тем, что сторонний сервис удостоверяет подлинность этого сертификата. Собственно, оплачивается именно эта услуга удостоверения, а не выдача сертификата.

Данная статья посвящена вопросу, как настроить Apache в Windows для работы с протоколом HTTPS, будет показано, как подключить SSL сертификаты к Apache в Windows. Поэтому для целей тестирования и обучения нам хватит самоподписанного сертификата.

Как сгенерировать SSL сертификат в Windows

У меня веб-сервер установлен в папку C:\Server\bin\Apache24, поэтому если у вас он в другой директории, то подправьте команды под свои условия.

Откройте командную строку Windows (Win+x, далее выберите «Windows PowerShell (администратор)»). В командной строке введите команды:

При вводе последней команды появятся запросы на английском языке. Ниже следует их перевод.

Вас попросят ввести информацию, которая будет включена в запрос вашего сертификата. То, что вы будете вводить, называется Distinguished Name или DN. Там всего несколько полей, которые можно оставить пустыми. В некоторых полях будут значения по умолчанию. Если вы введёте ‘.’, то поле будет оставлено пустым.

Двухбуквенное имя страны (двухбуквенный код)

Название штата или провинции/области (полное имя)

Название населённого пункта (например, города)

Подразделение организации (т.е. отдел)

Общее имя (например, FQDN сервера или ВАШЕ имя). Это самая важная часть — здесь нужно ввести доменное имя. Можете ввести localhost.

Теперь выполните команду:

В результате в каталоге C:\Server\bin\Apache24\bin\ должны появиться три новых файла:

Из них нам понадобятся только два:

Как в Windows для Apache подключить SSL сертификаты

При использовании сертификатов для настройки реального веб-сайта, удобнее создать виртуальный хост с примерно следующими настройками:

Для настройки использования SSL на локальном веб-сервере Apache в Windows следуйте инструкции ниже (в моём случае веб-сервер установлен по этой инструкции, если у вас не так, то отредактируйте пути до файлов).

В каталоге C:\Server\ создайте новую папку certs и переместите туда файлы localhost.key и localhost.crt.

В директории C:\Server\bin\Apache24\conf\ откройте текстовым редактором файл httpd.conf. В самый низ добавьте туда строки:

Читайте также:  Mrt процесс windows 10

Обратите внимание, что вам может понадобиться отредактировать следующие директивы

После этого сохраните изменения, закройте файл и перезапустите веб-сервер.

Для проверки сделанных изменений, перейдите по адресу https://localhost/ (протокол HTTPS). Поскольку сертификат является самоподписанным, то появится такое сообщение:

К самоподписанным сертификатам нет доверия и эту ошибку нельзя убрать без добавления таких сертификатов в доверенные. Для перехода нажмите «Всё равно продолжить».

Как уже было сказано, валидные сертификаты нужно покупать, либо использовать тестовые. В чём подвох использования тестовых сертификатов? Формально, в какой-то момент их могут перестать выдавать, но, на самом деле, уже сейчас многие сайты годами живут с такими тестовыми сертификатами. На современных хостингах настроено автоматическое подключение и продление таких сертификатов — это просто супер удобно. Обычно на хостингах предусмотрено некоторое количество абсолютно бесплатных SSL сертификатов с автоматическим продлением, но за небольшую плату (10 рублей в месяц), можно подключить тестовые сертификаты для любого количества сайтов. Пример такого хостинга здесь.

Решение проблем

При некоторых условиях может возникнуть следующая ошибка:

Главная подсказка в первой строке: Can’t open C:\Program Files\Common Files\SSL/openssl.cnf for reading, No such file or directory — она означает, что возникла ошибка чтения файла C:\Program Files\Common Files\SSL/openssl.cnf из-за того, что он отсутствует.

Файл openssl.cnf поставляется с самим веб-сервером Apache и находится в папке conf. Поэтому есть несколько вариантов, как исправить эту ошибку. Например, можно создать нужные папки и скопировать туда этот файл. Но можно пойти более простым путём — на время создания сертификатов установить переменную окружения OPENSSL_CONF указав в ней правильный путь до файла.

Также нужно переключиться из PowerShell в обычную командную строку Windows, поскольку иначе переменная окружения почему-то не устанавливается. Допустим, сервер размещён в папке C:\Server\bin\Apache24\bin\, тогда файл openssl.cnf расположен по пути C:\Server\bin\Apache24\conf\openssl.cnf, в этом случае, чтобы исправить ошибку Can’t open C:\Program Files\Common Files\SSL/openssl.cnf for reading, No such file or directory нужно выполнить:

Отредактируйте пути в этих командах в соответствии с вашей структурой папок.

Связанные статьи:

Comments

Статья не помогла. Очень важно приложить к статье openssl.cnf, который по факту должен быть прописан в переменной окружеия OPENSSL_CONF. Толку от такого сертификата нет, т.к приходится добавлять исключение и это ещё в самых лояльных браузерах. Такой сертификат не подписан к домену, что делает его бессмысленным.

Очень важно приложить к статье openssl.cnf,

Этот файл поставляется с веб-сервером. Зачем его здесь прикладывать?

который по факту должен быть прописан в переменной окружения OPENSSL_CONF.

Смотрите внимательнее команды — файл добавляется в переменную окружения. На один раз. Используется тоже один раз.

Толку от такого сертификата нет, т.к приходится добавлять исключение и это ещё в самых лояльных браузерах. Такой сертификат не подписан к домену, что делает его бессмысленным.

Тут половина статьи о валидных и самоподписанных сертификатах. Только вы не понимаете сути. Сертификат не «не подписан к домену». Домен в сертификате указан. Сертификат не подписан сервисом, который уполномочен проверять валидность сертификатов — нет смысла переписывать это из статьи, всё есть.

Чем не помогла? Тем, что браузеры не принимают самоподписанные сертификаты? В этом статья виновата?

Вам никто не запрещает купить валидный сертификат для вашего домена и прописать его настройках веб-сервера. Все веб-браузеры будут его прекрасно принимать.

Эта статья для тех, кто хочет потренироваться, проверить, как настраивать SSL сертификаты в веб-сервере Apache под Windows. Или для тех, кто уже купил себе валидный сертификат.

Обходились как-то раньше без всяких сертификатов, сейчас приходится бегать по всяким хострадарам высунув язык, искать хостинговую компанию с недорогим или бесплатным SSl.

Спасибо за подробную статью!!

Приветствую! Всё верно сказано — видимо, изменения связаны с обновлением сервера. Обновлю статью, чтобы не было проблем у других пользователей.

Громадное спасибо! Такая подробная, но без воды статья! Все сработало! Установил Apache, PHP, Mysql(по этой статье

), SSL (по текущей статье), все связано, все работает. Просто с недавних пор перестали удовлетворять разные сборки web серверов для разработчиков(старые версии продуктов в них зачастую, а при обновлении какого-то компонента перестает работать вся связка в целом). Теперь поставил все с новыми, актальными версиями, сэконоил благодаря вашему труду столько времени, спасибо еще раз!

Ещё было бы здорово обращаться к одному и тому же порту и через http и через https..

Ещё было бы здорово обращаться к одному и тому же порту и через http и через https..

Это в принципе невозможно. Для каждого из протоколов используется виртуальный хост со своими собственными настройками.

Ну то есть на самом деле возможно )) Но тогда нужно делать два хоста и каждый из них будет иметь своё имя и, соответственно, свои настройки. В качестве хостов можно выбрать любые имена, например, site1.loc, site2.loc, site.home и вообще что угодно. Один из этих хостов на 80-м порту будет работать по протоколу HTTP, а другой хост будет настроен на 80-м порту обслуживать протокол HTTPS. Если вы действительно собираетесь этим заморачиваться, я дам вам ссылки.

Добавьте сгенерированный сертификат в доверенные и будет зелёный замочек — но только на том компьютере, где добавили. Ну или сгенерируйте сертификат сервера с помощью корневого сертификата, который был добавлен в доверенные (первый способ проще). Если вы действительно будете этим заморачиваться, я дам вам ссылки.

Других способов получить валидный SSLдля localhost нет. Нужно понимать, что в этом и есть суть, что кто попало не может сгенерировать сертификаты для чего попало. Можно получить (причём даже бесплатно) сертификат для публичного адреса (домена) который принадлежит вам. И подлинность этого сертификата будет удостоверять третья сторона.

Генерация доверенного сертификата происходит следующим образом (пропущены технические детали, такие как генерация ключей, указаны только важные для нас моменты):

Допустим, я хочу сертификат для домена localhost.

На третьем этапе описанного процесса будет затык — третья сторона никак не может зайти на домен localhost, чтобы проверить, что домен действительно принадлежит мне, поскольку это мой локальный домен. У 6 миллиардов людей есть свой собственный localhost, а у некоторых сразу несколько. По этой причине невозможен выпуск валидных сертификатов для локальный имён.

А если бы третья сторона давала сертификаты «на веру» без проверки, или если бы на своём компьютере можно было генерировать валидные сертификаты для любого имени, то это как выпускать замки, которые можно открыть любым ключом или вообще без ключа — не было бы никакого смысла городить этот огород, тогда уж проще вообще без сертификатов, поскольку никакого толка в них бы не было.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector