web-dev-qa-db-fra.com

Configuration de Lighttpd sous-domaines multiples

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

1
Juanin

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)
             )
        )
}
1
j0k