apache ssl

bars80081

Новичок
пытаюсь установить апач с поддержкой https

то есть, чтобы сервер перерабатывал запросы https://localhost/page.php

скачал httpd-2.2.22-win32-x86-openssl-0.9.8t.msi и нашёл качественную инструкцию здесь, очень помогла, и вроде всё встало.

в итоге сервер цепляет запрос https://localhost/ , браузер жалуется на недостоверность сертификата, но работает с ними. однако, сайт, доступный по http://localhost/ не доступен. вместо него вижу файловую структуру в браузере D:\apache , хотя сам сайт лежит в D:\apache\localhost , куда его направлял httpd-vhosts.conf :

<VirtualHost *:80>
DocumentRoot "D:/apache/localhost/www"
ServerName localhost
ErrorLog "D:/apache/localhost/error.log"
CustomLog "D:/apache/localhost/access.log" common
</VirtualHost>

попытка поставить такое:
<VirtualHost *:443>
DocumentRoot "D:/apache/localhost/www"
ServerName localhost
ErrorLog "D:/apache/localhost/error.log"
CustomLog "D:/apache/localhost/access.log" common
</VirtualHost>
не даёт запустить сервер с ошибкой: the request operation has failed


чего тут не хватает?

в конфиге прописаны (согласно инструкции по ссылке выше)
Listen 80
Listen 443
 

WMix

герр M:)ller
Партнер клуба
несовсем уверен, но кажись в виндах нужно хост писать
<VirtualHost 127.0.0.1:443>

а еще строчек типа нехватает
SSLEngine On
SSLProtocol all
SSLCertificateFile /etc/apache2/ssl/файл.crt
SSLCertificateKeyFile /etc/apache2/ssl/wфайл.key
SSLCACertificateFile /etc/apache2/ssl/файл.pem

и их (файлы) сгенерить конечно нужно...
 

bars80081

Новичок
в п.17 инструкции из ссылки в первом посте указана команда, которая единственная вызывает у меня вопросы по выполнению.

Останавливаем Apache если он был запущен и запускаем его из командной строки с ключом -D SSL. Для этого даем команду
Z:\WAMPServer\Apache\bin>httpd.exe -D SSL
Запускать лучше из командной строки с ключом отладки SSL, чтобы можно было увидеть ошибки.
не сказано, что должно в итоге получиться. при выполнении этой команды получается следующее:

C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -D SSL
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.53 for ServerName
[Mon Aug 13 09:55:24 2012] [warn] VirtualHost 127.0.0.1:443 overlaps with VirtualHost localhost:443, the first has precedence, perhaps you need a NameVirtualHost directive

сам сервер при этом запускается, хотя монитор апача остаётся в положении "стоп". сайты на http работают, а https ведёт себя в зависимости от записей в httpd-vhosts.conf (см. ниже). особенно фигово то, что при этом командная строка зависает, что явно не может быть нормальным режимом работы

как я понимаю, тут где-то ошибка. может быть, в последовательности генерации всех этих файлов?
при выполнении команд
openssl rsa -in privkey.pem -out my-server.key
openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365
openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
необходимо указать ряд данных, определяющих домен и прочее. делал как написано: картинка 1, картинка 2 (с поправкой на размещение своего сервера)




-----------------------------------------------------------------------------------------------------------------------------
ответ wmix.151

в conf/httpd.cong у меня прописано:

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none
</IfModule>


<VirtualHost localhost:443>
SSLEngine On
SSLProtocol all
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
#SSLCACertificateFile conf/ssl/privkey.pem
</VirtualHost>

все указанные файлы сгенерированы и в указанной папке
раскомментирование последней строчки вызывает the request operation has failed при запуске сервера

в инструкции по ссылке в первом посте она не была указана

в httpd-vhosts.conf:

если блок закомментирован
#<VirtualHost *:443>
# DocumentRoot "D:/apache/localhost/www"
# ServerName localhost
# ErrorLog "D:/apache/localhost/error.log"
# CustomLog "D:/apache/localhost/access.log" common
#</VirtualHost>
https в браузере работает, но сервер не подхватывает и не показывает сайт, а просто показывает файловый каталог

если раскомментированы:
<VirtualHost *:443>
DocumentRoot "D:/apache/localhost/www"
ServerName localhost
ErrorLog "D:/apache/localhost/error.log"
CustomLog "D:/apache/localhost/access.log" common
</VirtualHost>
то сервер не запускается с ошибкой the request operation has failed

если
<VirtualHost 127.0.0.1:443>
DocumentRoot "D:/apache/localhost/www"
ServerName localhost
ErrorLog "D:/apache/localhost/error.log"
CustomLog "D:/apache/localhost/access.log" common
</VirtualHost>
то сервер запускается, то обращение https://localhost/ вызывает в файерфоксе:
Ошибка при установлении защищённого соединения
При соединении с localhost произошла ошибка.
SSL получило запись с неизвестным типом содержимого.
(Код ошибки: ssl_error_rx_unknown_record_type)
в хроме:
Ошибка подключения SSL
Не удается создать безопасное соединение с сервером. На сервере могла возникнуть проблема, или необходим сертификат клиентской аутентификации, который у вас отсутствует.
Ошибка 107 (net::ERR_SSL_PROTOCOL_ERROR): Ошибка протокола SSL.
хотя сайт по простому протоколу http://localhost работает
 

WMix

герр M:)ller
Партнер клуба
Could not reliably determine the server's fully qualified domain name, using 192.168.1.53 for ServerN не обращай пока внимание

а VirtualHost 127.0.0.1:443 overlaps with VirtualHost localhost:443 это поприкольнее... ты просто написал 2 раза
<VirtualHost 127.0.0.1:443>
...
<VirtualHost localhost:443>

Оприделись что ты хочешь, говорит тебе апаче.... запись localhost:443 убери
<VirtualHost *:443> тож убери пока
<VirtualHost 127.0.0.1:80> а такое добавь всеже... как же без простого хттп
 

WMix

герр M:)ller
Партнер клуба
незнаю нормально это или нет что команда зависает, чес слово никогда не создавал хттпс на виндах, но на всякий случай, апаче это сервер - те работает непрерывно!
openssl команды это просто ключики ты генеришь судя повсему ты все сделал правильно...
монитор апача ты про WAMP ? определись где ты запускаешь консоль или через ВАМП
 
Сверху