Project

General

Profile

HowToRedirectHttpToHttps » History » Revision 3

Revision 2 (Anonymous, 2006-08-15 21:56) → Revision 3/33 (Anonymous, 2006-09-18 19:49)

= How to redirect HTTP requests to HTTPS = 

 As of version 1.4.11 this is as simple as: 

 {{{ 
 $SERVER["socket"] == ":80" { 
   $HTTP["host"] =~ "example.org" { 
     url.redirect = ( "^/(.*)" => "https://example.org/$1" ) 
     server.name                   = "example.org" 
   } 
 } 

 $SERVER["socket"] == ":443" { 
   ssl.engine = "enable" 
   ssl.pemfile = "/path/to/example.org.pem" 
   server.document-root = "..." 
 } 
 }}} 

 (Note: this also works in versions prior to 1.4.11 providing you have not specified {{{server.port = 80}}} in your configuration file.) 

 To redirect ''all'' hosts to their secure equivalents use the following in place of the socket 80 configuration above: 

 {{{ 
 $SERVER["socket"] == ":80" { 
   $HTTP["host"] =~ "(.*)" { 
     url.redirect = ( "^/(.*)" => "https://%1/$1" ) 
   } 
 } 
 }}} 

 ---- 
 The information was taken from two postings to the mailing list by Jan: 
 WARNING: unknown config-key: url.redirect (ignored) 

  * http://article.gmane.org/gmane.comp.web.lighttpd/3575 
  * http://article.gmane.org/gmane.comp.web.lighttpd/3580 

 If you see this error 
 {{{ 
 WARNING: unknown config-key: url.redirect (ignored) 
 }}} 

 Then you need to add mod_redirect under server.modules in your lighttpd conf file: 

 {{{ 
 server.modules                = ( 
                                 "mod_rewrite", 
                                 "mod_redirect", 
                                 "mod_alias", 
                                 "mod_access", 
                                 ... 
 ) 
 }}}