utilizando instalar está crear configurar certificado apache ssl https xampp virtualhost

apache - instalar - openssl xampp windows



¿Cómo uso https(SSL) en XAMPP mientras uso hosts virtuales? (4)

Estoy escribiendo una aplicación php en mi máquina local y me gustaría probar para ver si SSL está funcionando. Ten paciencia conmigo porque es la primera vez que uso SSL.

Hasta ahora esto es lo que hice:

  1. Creado un Certificado SSL. Seguí la primera parte de this tutorial para crear el certificado.
  2. server.crt archivo server.crt en Chrome.
  3. Se quitó el punto y coma delante de ;extension=php_openssl.dll en php.ini ( reference )
  4. httpd-vhosts.conf mi archivo httpd-vhosts.conf basado en this página. La sección relevante de ese archivo está debajo. Este es el archivo completo: http://pastebin.com/k6Jh2eR6

    <VirtualHost *> DocumentRoot "C:/Users/user_name/Documents/project_one" ServerName project_one.localhost SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateKeyFile "conf/ssl.key/server.key" <Directory "C:/Users/user_name/Documents/project_one"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>

Normalmente accedería a mi proyecto escribiendo http://project_one.localhost

Al intentar acceder a mi proyecto al escribir https://project_one.localhost en chrome, automáticamente me reenvío a https://project_one.localhost/xampp/ (como si XAMPP no reconoce https://project_one.localhost como un subdominio en absoluto y lo trata como si estuviera escribiendo en https://localhost ) ¿Alguna idea de dónde estoy jodiendo?

NOTA:

  • LoadModule ssl_module modules/mod_ssl.so se comentario en el archivo httpd.conf

¿Qué versión de Apache estás usando? NameVirtualHost no está disponible en la versión 2.4.

Descomente la línea Include conf/extra/httpd-ssl.conf en httpd.conf y agregue los siguientes contenidos (corrija las rutas de acuerdo con la ruta de xampp). Esto habilitará https://localhost

<IfModule ssl_module> Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crlss phrase on stdout. SSLPassPhraseDialog builtin SSLSessionCache "shmcb:E:/PROGRA/~1/AMPPS/apache/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 Mutex default <VirtualHost _default_:443> DocumentRoot "E:/Program Files/AMPPS/www" ServerName localhost:443 ServerAdmin [email protected] ErrorLog "E:/Program Files/AMPPS/apache/logs/ssl_error.log" TransferLog "E:/Program Files/AMPPS/apache/logs/ssl_access.log" SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile "E:/Program Files/AMPPS/apache/conf/ssl_crt/server.crt" #SSLCertificateFile "E:/Program Files/AMPPS/apache/conf/server-dsa.crt" SSLCertificateKeyFile "E:/Program Files/AMPPS/apache/conf/ssl_key/server.key" <FilesMatch "/.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "E:/Program Files/AMPPS/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch ".*MSIE.*" / nokeepalive ssl-unclean-shutdown / downgrade-1.0 force-response-1.0 CustomLog "E:/Program Files/AMPPS/apache/logs/ssl_request.log" / "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x /"%r/" %b" </VirtualHost> </IfModule>

Si desea que otro dominio como project_one.localhost tenga una conexión HTTP segura, agregue el siguiente virtualhost en httpd.conf o httpd-vhosts.conf (debe estar incluido en httpd.conf)

<IfModule ssl_module> <VirtualHost 127.0.0.1:443> <Directory "e:/program files/ampps/www/project_one.localhost"> Options FollowSymLinks Indexes AllowOverride All Order deny,allow allow from All </Directory> ServerName project_one.localhost ServerAlias project_one.localhost ScriptAlias /cgi-bin/ "e:/program files/ampps/www/project_one.localhost/cgi-bin/" DocumentRoot "e:/program files/ampps/www/project_one.localhost" SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile "E:/Program Files/AMPPS/apache/conf/ssl_crt/project_one.localhost.crt" SSLCertificateKeyFile "E:/Program Files/AMPPS/apache/conf/ssl_key/project_one.localhost.key" ErrorLog "E:/Program Files/AMPPS/apache/logs/project_one.localhost_ssl_error.log" TransferLog "E:/Program Files/AMPPS/apache/logs/project_one.localhost_ssl_access.log" <FilesMatch "/.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "e:/program files/ampps/www/project_one.localhost/cgi-bin/"> SSLOptions +StdEnvVars </Directory> BrowserMatch ".*MSIE.*" / nokeepalive ssl-unclean-shutdown / downgrade-1.0 force-response-1.0 CustomLog "E:/Program Files/AMPPS/apache/logs/project_one.localhost_ssl_request.log" / "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x /"%r/" %b" </VirtualHost> </IfModule>

Nota: Deberá agregar una entrada en el archivo hosts 127.0.0.1 project_one.localhost


Aquí hay un paso simple.

  1. Vaya a C: / xampp / apache / conf

Abra httpd.conf

Y habilite las extensiones ssl ( Eliminar # de la línea )

LoadModule ssl_module modules/mod_ssl.so

  1. Vaya a C: / xampp / apache / conf / extra

Abra httpd-vhosts.conf

Agregue nuevos hosts virtuales o edite los existentes

<VirtualHost *:443> DocumentRoot "C:/xampp/htdocs/PROJECTNAME" ServerName www.pl.f24sdev.com <Directory C:/xampp/htdocs/PROJECTPATH> AllowOverride All Order Deny,Allow Allow from all </Directory> SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateKeyFile "conf/ssl.key/server.key" </VirtualHost>


Esta puede ser una vieja pregunta, pero de todos modos estoy poniendo mi respuesta para futuras referencias

Estoy usando XAMPP 3.2.1, compilado mayo, 7 2013

para habilitar VirtualHost con SSL al mismo tiempo, aquí está lo que hice. (Estoy usando Windows 7)

  1. su archivo HOST Windows ya debe estar configurado
  2. Vaya a httpd-ssl.conf ubicado en xampp/apache/conf/extra

Acabo de copiar el _default_ virtualhost y agregué mi configuración. virtualHost todos los comentarios para el más corto y pegué esto justo debajo del valor predeterminado virtualHost Solo cambio el DocumentRoot y el nombre del servername y luego reinicio Apache.

<VirtualHost *:443> DocumentRoot "***path/to/your/project}***" ServerName ***yourdomain*** ServerAdmin [email protected] ErrorLog "C:/xampp/apache/logs/error.log" TransferLog "C:/xampp/apache/logs/access.log" SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateKeyFile "conf/ssl.key/server.key" <FilesMatch "/.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "C:/xampp/apache/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" / nokeepalive ssl-unclean-shutdown / downgrade-1.0 force-response-1.0 CustomLog "C:/xampp/apache/logs/ssl_request.log" / "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x /"%r/" %b" </VirtualHost>


SSL, de la HTTPS://url.here/ variety, es manejado completamente por Apache y no tiene nada que ver con PHP, ni con ninguna de las extensiones / módulos de PHP, ni con ninguna configuración de php.ini.

Un VirtualHost con SSL habilitado típico se ve así y contiene al menos estas partes ...

<VirtualHost *:443> DocumentRoot "C:/WampDeveloper/Websites/www.example.com/webroot" ServerName www.example.com ServerAlias example.com SSLEngine On SSLCertificateFile "C:/WampDeveloper/Websites/www.example.com/certs/public.crt" SSLCertificateKeyFile "C:/WampDeveloper/Websites/www.example.com/certs/private.key" <Directory "C:/WampDeveloper/Websites/www.example.com/webroot"> Options All AllowOverride All order allow,deny allow from all </Directory> </VirtualHost>

(Las rutas anteriores son de mi configuración WampDeveloper Pro, Xampp será ligeramente diferente)

Su línea <VirtualHost *> está defectuosa. Necesita un número de puerto, que siempre es 443 para una URL HTTPS: //, en combinación con una dirección IP o una estrella antes. Y si usa una estrella, también una línea NameVirtualHost *:443 ...

NameVirtualHost *:80 NameVirtualHost *:443 <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:443> DocumentRoot "C:/Users/user_name/Documents/project_one" ServerName project_one.localhost SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateKeyFile "conf/ssl.key/server.key" <Directory "C:/Users/user_name/Documents/project_one"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/Users/user_name/Documents/project_two" ServerName project_two.localhost <Directory "C:/Users/user_name/Documents/project_two"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>