2011-11-30 3 views
2

У меня есть настройка сайта django с lighttpd и ssl, но я не могу получить перенаправление на работу с http на https. Моя установка очень похожа: https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#lighttpd-setup и я использую Lighttpd/1.4.26 на убунтуfcgi, ssl и django, перенаправить HTTP на HTTPS

В основном моя установка выглядит примерно так:

$HTTP["host"] =~ "myhost.com" { 
server.document-root = "/home/myvenv/blah" 
fastcgi.server = ( 
    "/blah.fcgi" => (
    ( 
     "host" => "127.0.0.1", 
     "port" => 16666, 
     "check-local" => "disable", 
     "max-procs" => 4, 
     "min-procs" => 4, 
    ) 
) 
) 
    url.rewrite-once = ( 
    "^(/favicon.ico.*)$" => "/$1", 
    "^(/admin_media.*)$" => "/$1", 
    "^(/media.*)$" => "/$1", 
    "^(/.*)$" => "/blah.fcgi$1", 
) 

expire.url = ( 
    "/favicon.ico" => "access 1 seconds", 
    "/admin_media" => "access 1 seconds", 
"/media" => "access 1 seconds", 
) 

} 

Я хочу, чтобы добавить это сделать мой НТТР HTTPS переадресовать:

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

проблема заключается в том, когда я включаю редирект, мой URL перезаписывается как:

https://myhost.com/blah.fcgi/my/path/to/blah

положить в blah.fcgi части, когда я действительно просто хочу:

https://myhost.com/my/path/to/blah

Я не знаю, почему редирект включает в себя переписывание и/или как предотвратить это и на самом деле сделать правильный Перенаправление?

Большое спасибо в adavance.

ответ

3

Я использую Lighttpd таким же образом, и вот как я делаю подобный редирект:

url.redirect = (
    "^(?:/[a-z]+\.fcgi)?(.*)$" => "https://%1$1" 
) 

Это удаляет переписан имя сценария из матча на левой стороне, так что он не показывает в перенаправлении.

+0

О, дух, это определенно работает. Thx для раздражения моего мозга :) – jmat

+0

Любая идея, почему это происходит? Я предполагаю, что это связано с тем, что mod_rewrite должен произойти до перенаправления? – jmat

+0

Я не совсем уверен, у меня есть такая же гипотеза, как и вы. –

Смежные вопросы