Как сделать перенаправление с HTTP на HTTPS с помощью lighthttpd
?
Есть тонны lighttpd
фрагментов конфигурации, которые позволяют это сделать, но пока ни один из них не сработал. В настоящее время я все еще играюсь с 127.0.0.1
, так что если у кого-то есть адекватная конфигурация в использовании, это было бы здорово.
Моя версия lighttpd — 1.4.29, ОС Arch Linux 64bit
решение1
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/path/to/pem/file/unknown.pem"
}
$SERVER["socket"] == ":80" {
$HTTP["host"] =~ "(.*)" {
url.redirect = ( "^/(.*)" => "https://%1/$1" )
}
}
решил эту проблему для меня.
решение2
В этой ситуации я делаю небольшой одностраничный сайт, доступный через HTTP, содержащий одну страницу сметатег обновленияи, возможно, объяснение для браузеров, в которых перенаправления отключены или не поддерживаются по какой-то причине. Создайте пользовательскую страницу ошибки 404, которая также делает то же самое.
Затем метатег должен перенаправлять на https://127.0.0.1
внешний адрес вашего сайта, если вы разрешите к нему доступ извне.
Я бы позволил странице отображаться в течение 5 секунд, используя метаобновление, сообщающее: «Этот сайт доступен только через HTTPS. Вы будете автоматически перенаправлены через 5 секунд, если нет, нажмите здесь...»