2011-11-30 20 views
2

lighttpdとsslが動作するdjangoサイトの設定がありますが、httpからhttpsへのリダイレクトはできません。私のセットアップは非常によく似ている:私はhttpsに私のhttpを行うには、これを追加したいfcgi、ssl、django、HTTPSを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://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#lighttpd-setupと私はUbuntuの

にlighttpdの/ 1.4.26を使用しています基本的に私のセットアップは、次のようになりますリダイレクト:

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

0:

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

を私はリダイレクトを有効にすると、問題がある、私のURLは同じように書き換えます

私は本当にただたいblah.fcgi部に置くこと:私はリダイレクトがリライトを含み、なぜわからない

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

および/またはどのようにそれを防ぐために、実際に正しいリダイレクトを行いますか?

大変ありがとうございます。

私は同じようにlighttpdのを使用し、ここで私は、同様のリダイレクトを行う方法です

答えて

3

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

これは、左側の試合から書き換えられたスクリプト名を削除し、それは表示されません。リダイレクトで

+0

ああ、そうです、それは間違いなく機能します。私の脳を震えてThx: – jmat

+0

これはなぜ起こるか考えてみませんか?私はリダイレクトの前にmod_rewriteを実行しなければならないと仮定していますか? – jmat

+0

私は完全にはわかりませんが、私はあなたと同じ仮説を持っています。 –

関連する問題