У меня есть настройка сайта django с работающими lighttpd и ssl, но я не могу получить перенаправление на работу с http на https. Моя установка очень похожа на: https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#lighttpd-setup, и я использую lighttpd / 1.4.26 на Ubuntu
В основном моя установка выглядит примерно так:
$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",
)
}
Я хочу добавить это для перенаправления http на 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
Я не уверен, почему перенаправление включает в себя переписывание и / или как предотвратить его и действительно выполнить правильное перенаправление?
Большое спасибо за продвижение.