J'ai un serveur Lighttpd comme frontal pour Ruby on Rails.
Certains sous-domaines (server1.domain.com
, server2.domain.com
) sont configurés avec proxy.
Mais également un serveur Web statique standard à www.domain.com
.
Cela fonctionne, mais l'appel sans sous-domaine (domain.com
) ne marche pas.
Comment pourrais-je configurer Lighttpd pour cela?
Configuration pour le proxy:
$HTTP["Host"] =~ "www.domain." {
alias.url = ( "/system/" => "/var/www/system/" )
proxy.balance = "fair"
proxy.server = ( "" => (
( "Host" => "127.0.0.1", "port" => 5750)
)
)
}
Configuration pour server1 et server2:
$HTTP["Host"] =~ "server1.domain." {
alias.url = ( "/system/" => "/var/www/system/" )
proxy.balance = "fair"
proxy.server = ( "" => (
( "Host" => "127.0.0.1", "port" => 7757 ) ,
( "Host" => "127.0.0.1", "port" => 5222),
( "Host" => "127.0.0.1", "port" => 5223)
)
)
}
$HTTP["Host"] =~ "server2.domain." {
alias.url = ( "/system/" => "/var/www/system/" )
proxy.balance = "fair"
proxy.server = ( "" => (
( "Host" => "127.0.0.1", "port" => 7787 ) ,
( "Host" => "127.0.0.1", "port" => 5282),
( "Host" => "127.0.0.1", "port" => 5283)
)
)
}
Vous avez deux solutions.
Premier
Redirigez le trafic vers www
si le domaine est domain.com
:
$HTTP["Host"] =~ "^domain\.com" {
url.redirect = (
"^/(.*)" => "http://www.domain.com/$1",
"" => "http://www.domain.com/"
)
}
Deuxième
Traiter le trafic pour les deux www.domain.
et domain.
(alors faites attention au contenu en double). Remplacez l'ancienne règle pour www.domain.
par:
$HTTP["Host"] =~ "(^domain.)|(^www.domain.)" {
alias.url = ( "/system/" => "/var/www/system/" )
proxy.balance = "fair"
proxy.server = ( "" => (
( "Host" => "127.0.0.1", "port" => 5750)
)
)
}