Включение SSL с помощью XAMPP

Я следовал этому руководству столько, сколько мог http://robsnotebook.com/xampp-ssl-encrypt-passwords .

Однако всякий раз, когда я просматриваю страницу, начинающуюся с https, сервер apache отвечает 404 Object Not Found.

Какой настройки мне не хватает? Спасибо за любую помощь.


person ColacX    schedule 27.04.2011    source источник
comment
Ваша ссылка на учебник не https, но она учит, как сделать httpa   -  person Cholowao    schedule 30.03.2018


Ответы (7)


Нашел ответ. В файле xampp\apache\conf\extra\httpd-ssl.conf под комментарием SSL Virtual Host Context страницы на порту 443 означают, что https ищется в другом корне документа.

Просто измените корень документа на тот же, и проблема будет устранена.

person ColacX    schedule 28.04.2011
comment
Имейте в виду, что вам также необходимо перезапустить Apache, чтобы эти изменения вступили в силу (вам может потребоваться отключить и снова включить SSL, чтобы увидеть, как он работает, используя sudo /Applications/XAMPP/xamppfiles/xampp disablessl и sudo /Applications/XAMPP/xamppfiles/xampp enablessl соответственно). - person Wex; 12.10.2011
comment
не забудьте перенаправить порт 443 для SSL. Надеюсь кому-нибудь поможет =) - person user1534664; 15.01.2013
comment
comment
Эта статья мне очень помогла, и, пожалуйста, НЕ ЗАБУДЬТЕ перезапустить Chrome. shellcreeper.com/how-to-create-valid -ssl-in-localhost-for-xampp - person Moh Arjmandi; 02.09.2018

Вы также можете настроить свой SSL в xampp/apache/conf/extra/httpd-vhost.conf следующим образом:

<VirtualHost *:443>
    DocumentRoot C:/xampp/htdocs/yourProject
    ServerName yourProject.whatever
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>

Я думаю, лучше не менять его в httpd-ssl.conf, если у вас более одного проекта и вам нужен SSL более чем на одном из них.

person Tobias Hartmann    schedule 27.10.2014
comment
я выполнил те же шаги и изменил httpd-vhost.conf, как вы упомянули, поскольку у меня есть несколько доменов в качестве хостов, таких как example.com, example2.com, example3.com, и я добавил ssl к example2.com, но это не работает должным образом. Когда я захожу на сайт example2.com, он показывает сайт example.com. - person ; 01.06.2018

Для XAMPP выполните следующие действия:

  1. G:\xampp\apache\conf\extra\httpd-ssl.conf"

  2. Найдите текст «DocumentRoot».

  3. Измените DocumentRoot DocumentRoot "G:/xampp/htdocs" на DocumentRoot "G:/xampp/htdocs/имя проекта".

person Pritam Chaudhari    schedule 15.10.2014

настроить SSL в xampp/apache/conf/extra/httpd-vhost.conf

http

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com

    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

https

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt" 
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

убедитесь, что путь server.crt и server.key указан правильно, иначе это не сработает.

не забудьте включить vhost в httpd.conf

# Virtual hosts
Include etc/extra/httpd-vhosts.conf
person Amit    schedule 12.04.2018

Если вы работаете в Mac OS (каталина или мохаве) и хотите включить HTTPS/SSL в XAMPP для Mac, вам необходимо включить виртуальный хост и использовать сертификаты по умолчанию, включенные в XAMPP. В файле httpd-vhosts.conf добавьте новый виртуальный хост:

<VirtualHost *:443>
    ServerAdmin [email protected]
    DocumentRoot "/Users/your-user/your-site"
    ServerName your-site.local
    SSLEngine on
    SSLCertificateFile "etc/ssl.crt/server.crt" 
    SSLCertificateKeyFile "etc/ssl.key/server.key"
    <Directory "/Users/your-user/your-site">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
person jalamprea    schedule 30.05.2020

Наконец-то я заставил это работать на моем собственном размещенном веб-сайте сервера xampp windows 10. т.е. замки появились как ssl. Я использую версию xampp от ноября 2020 года.

  1. Зашел на certbot.eff.org. Выбрал со своей домашней страницы программное обеспечение [apache] и систему [windows]. Затем загрузил и установил программное обеспечение certbot, найденное на следующей странице, на мой диск C.

  2. Затем из командной строки [cmd в Windows Start, а затем, прежде чем открыть cmd, щелкните правой кнопкой мыши, чтобы запустить cmd от имени администратора], я ввел команду со страницы Certbot выше. т.е. перешел в system32-- C:\WINDOWS\system32› certbot certonly --standalone

  3. Затем последовал подсказкам и ввел свое доменное имя. Это создало сертификаты как cert1.pem и key1.pem в папке C:\Certbot yourwebsitedomain. окна cmd сообщают вам, где они находятся.

  4. Затем взял их и изменил их имена с cert1.pem на мое доменное имя или более короткое + cert.pem и то же самое для доменного имени или более короткого + key.key. Скопировал их в папки C:\xampp\apache\ssl.crt и ssl.key соответственно.

  5. Затем для G:\xampp\apache\conf\extra\httpd-vhosts ввели следующее:

<VirtualHost *:443>
    DocumentRoot "G:/xampp/htdocs/yourwebsitedomainname.hopto.org/public/" ###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
    ServerName yourwebsitedomainnamee.hopto.org 
    <Directory G:/xampp/htdocs/yourwebsitedomainname.hopto.org>
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "G:/xampp/apache/logs/error.log"
    CustomLog "G:/xampp/apache/logs/access.log" common
    SSLEngine on
SSLCertificateFile "G:\xampp\apache\conf\ssl.crt\abscert.pem"
SSLCertificateKeyFile "G:\xampp\apache\conf\ssl.key\abskey.pem"
</VirtualHost>  
     
  1. Затем перешел к G:\xampp\apache\conf\extra\httpd-ssl.conf и сделал, как советовали выше. Я пропустил этот важный шаг в течение нескольких дней, пока не прочитал этот пост. Спасибо! т.е. вошел
<VirtualHost _default_:443>
DocumentRoot "G:/xampp/htdocs/yourwebsitedomainnamee.hopto.org/public/"
###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
SSLEngine on
SSLCertificateFile "conf/ssl.crt/abscert.pem"
SSLCertificateKeyFile "conf/ssl.key/abskey.pem"
CustomLog "G:/xampp/apache/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>  

Примечание1. Я использовал www.noip.com для регистрации доменного имени. Заметка 2. Вместо этого попытайтесь заставить их дать мне ssl-сертификат, поскольку я не мог заставить его работать, вместо этого сработало вышеизложенное. Примечание 3. Я использую программное обеспечение noip DUC для синхронизации моего личного веб-сайта с noip. Примечание4. Очень важно останавливать и запускать сервер xampp после каждого изменения, которое вы вносите в xampp. Если xampp по какой-то причине не работает, вместо запуска консоли xampp попробуйте запустить xampp, так как это создаст проблемы, которые вы можете исправить. Быстро скопируйте их и вставьте в note.txt.

person Mark Corrigan    schedule 18.11.2020

Здесь есть лучшее руководство для Windows:

https://shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp/

Основные шаги:

  1. Создайте сертификат SSL для своего локального домена, используя это: Подробнее см. по ссылке выше https://gist.github.com/turtlepod/3b8d8d0eef29de019951aa9d9dcba546 https://gist.github.com/turtlepod/e94928cddbfc46cfbaf8c3e5856577d0

  2. Установите этот сертификат в Windows (доверенные корневые центры сертификации). Дополнительные сведения см. по ссылке выше.

  3. Добавьте сайт в хосты Windows (C:\Windows\System32\drivers\etc\hosts), например: 127.0.0.1 site.test

  4. Добавьте сайт в конфигурацию XAMPP (C:\xampp\apache\conf\extra\httpd-vhosts.conf), например:

     <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs"
        ServerName site.test
        ServerAlias *.site.test
     </VirtualHost>
     <VirtualHost *:443>
        DocumentRoot "C:/xampp/htdocs"
        ServerName site.test
        ServerAlias *.site.test
        SSLEngine on
        SSLCertificateFile "crt/site.test/server.crt"
        SSLCertificateKeyFile "crt/site.test/server.key"
     </VirtualHost>
    
  5. Перезапустите Apache и ваш браузер, и все готово!

person Adrian P.    schedule 06.01.2021