Archivní obsah osobního webu

Apache: HTTPS na localhostu

How do I allow HTTPS for Apache on localhost?

  1. Ensure you have write permissions to your Apache conf folder
  2. Open a command prompt in Apache2\conf folder
  3. Type
                    
                        ..\bin\openssl req -config openssl.cnf -new -out server.csr -keyout server.pem
                    
                
  4. You can leave all questions blank except:
    • PEM Passphrase: a temporary password such as "password"
    • Common Name: the hostname of your server
  5. When that completes, type
                    
                        ..\bin\openssl rsa -in server.pem -out server.key
                    
                
  6. Generate your self-signed certificate by typing:
                    
                        ..\bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
                    
                
  7. Open Apache's conf\httpd.conf file and ensure SSL module is enabled - there should be no hash at the start of this line:
                    
                        LoadModule ssl_module modules/mod_ssl.so
                    
                
  8. Some Apache installations place the SSL config in a separate file. If so, ensure that the SSL conf file is being included. In my case I had to uncomment this line:
                    
                        Include conf/extra/httpd-ssl.conf
                    
                
  9. In the SSL config httpd-ssl.conf I had to update the following lines:
    • Update
                              
                                  SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)" 
                              
                          
      to
                              
                                  SSLSessionCache "shmcb:c:/Apache24/logs/ssl_scache(512000)"
                              
                          
      (The brackets in the path confuse the module, so we need to escape them)
    •                         
                                  DocumentRoot "c:/Apache24/htdocs"
      ServerName localhost:443
      ServerAdmin info@viktorbabjak.cz
      ErrorLog "c:/Apache24/logs/error.log"
      TransferLog "c:/Apache24/logs/access.log"
    •                         
                                  SSLCertificateFile "c:/Apache24/conf/server.crt"
                              
                          
    •                         
                                  SSLCertificateKeyFile "c:/Apache24/conf/server.key"
                              
                          
  10. Restart Apache.
  11. Try loading https://localhost/ in your browser.

Links: