Habilitando SSL con XAMPP

Respuestas:

105

Encontré la respuesta. En el archivo xampp\apache\conf\extra\httpd-ssl.conf, debajo de las SSL Virtual Host Contextpáginas de comentarios en el puerto 443, lo que significa que https se busca en una raíz de documento diferente.

Simplemente cambie la raíz del documento a la misma y el problema se solucionará.

ColacX
fuente
9
Tenga en cuenta que también debe reiniciar Apache para que estos cambios surtan efecto (es posible que deba deshabilitar y volver a habilitar SSL para que funcione, usando sudo /Applications/XAMPP/xamppfiles/xampp disablessly sudo /Applications/XAMPP/xamppfiles/xampp enablesslrespectivamente).
Mié
4
no olvide reenviar el puerto 443 para SSL. Espero que pueda ayudar a alguien =)
user1534664
1
Este artículo me ayudó mucho y NO OLVIDE reiniciar Chrome. shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp
Moh Arjmandi
85

También puede configurar su SSL de xampp/apache/conf/extra/httpd-vhost.confesta manera:

<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>

Supongo que es mejor no cambiarlo httpd-ssl.confsi tiene más de un proyecto y necesita SSL en más de uno.

Tobias Hartmann
fuente
Seguí los mismos pasos y modifiqué httpd-vhost.conf como mencionaste, ya que tengo varios dominios como hosts como example.com example2.com example3.com y he agregado ssl a example2.com, pero no funciona como se esperaba. Cuando voy a example2.com, muestra el sitio web example.com.
Srikanth Gopi
12

Para XAMPP, siga los siguientes pasos:

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

  2. Buscar texto 'DocumentRoot'.

  3. Cambie DocumentRoot DocumentRoot "G: / xampp / htdocs" a DocumentRoot "G: / xampp / htdocs / project name".

Pritam Chaudhari
fuente
10

configurar SSL en 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>

asegúrese de que la ruta server.crt & server.key se haya proporcionado correctamente, de lo contrario, esto no funcionará.

no olvide habilitar vhost en httpd.conf

# Virtual hosts
Include etc/extra/httpd-vhosts.conf
Amit
fuente
2

Finalmente conseguí que esto funcionara en mi propio sitio web de servidor xampp windows 10 alojado. Es decir, los candados aparecieron como ssl. Estoy usando la versión xampp de noviembre de 2020.

  1. Fue a certbot.eff.org. Seleccionado de su software de página de inicio [apache] y sistema [windows]. Luego descargué e instalé el software certbot que se encuentra en la página siguiente en mi unidad C.

  2. Luego, desde la línea de comando [cmd en Inicio de Windows y luego, antes de abrir cmd, haga clic derecho para ejecutar cmd como administrador] Ingresé el comando de la página Certbot anterior. Es decir, navegó a system32-- C: \ WINDOWS \ system32> certbot certonly --standalone

  3. Luego siguió las instrucciones e ingresó mi nombre de dominio. Esto creó certificados como cert1.pem y key1.pem en C: \ Certbot su carpeta de dominio web. las ventanas de cmd le indican dónde están.

  4. Luego tomó estos y cambió sus nombres de cert1.pem a mi nombre de dominio o más corto + cert.pem y lo mismo para nombre de dominio o más corto + clave.key. Los copió en las carpetas C: \ xampp \ apache \ ssl.crt y ssl.key respectivamente.

  5. Luego, para G: \ xampp \ apache \ conf \ extra \ httpd-vhosts ingresó lo siguiente:

<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. Luego navegó a G: \ xampp \ apache \ conf \ extra \ httpd-ssl.conf e hizo lo que se indicó anteriormente. Me perdí este importante paso durante días hasta que leí esta publicación. ¡Gracias! Es decir, entró
<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>  

Nota 1. Solía www.noip.com para registrar el nombre de dominio. Nota 2. En lugar de eso, intente que me den un certificado ssl, ya que no pude hacerlo funcionar, lo anterior funcionó. Note3 Utilizo el software noip DUC para mantener mi sitio web alojado personalmente en sincronía con noip. Nota 4. Es muy importante detener e iniciar el servidor xampp después de cada cambio que realice en xampp. Si xampp falla por alguna razón en lugar de iniciar la consola xampp, intente iniciar xampp ya que esto le dará problemas que puede corregir. Cópielos rápidamente y péguelos en note.txt.

Mark Corrigan
fuente
1

En caso de que esté en Mac OS (catalina o mojave) y quiera habilitar HTTPS / SSL en XAMPP para Mac, debe habilitar el host virtual y usar los certificados predeterminados incluidos en XAMPP. En su httpd-vhosts.confarchivo, agregue un nuevo vhost:

<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>
jalamprea
fuente
0

Aquí hay una guía mejor para Windows:

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

Pasos básicos:

  1. Cree un certificado SSL para su dominio local usando esto: vea más detalles en el enlace anterior https://gist.github.com/turtlepod/3b8d8d0eef29de019951aa9d9dcba546 https://gist.github.com/turtlepod/e94928cddbfc46cfbaf8c3e5856577d0

  2. Instale este certificado en Windows (Autoridades de certificación raíz de confianza) Consulte más detalles en el enlace anterior

  3. Agregue el sitio en hosts de Windows (C: \ Windows \ System32 \ drivers \ etc \ hosts) Por ejemplo: 127.0.0.1 site.test

  4. Agregue el sitio en XAMPP conf (C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf) Por ejemplo:

     <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. Reinicie Apache y su navegador y listo.

Adrian P.
fuente