Назад | Перейти на главную страницу

Самоподписанный сертификат SSL в Lighttpd, вызывающий ошибки 404

Привет, ребята, я хотел опробовать SSL на своем сервере, поэтому решил создать несколько самозаверяющих SSL-сертификатов, как описано Вот. После перехода в document-root, firefox действительно позволил мне принять сертификат и прочее. Но когда я действительно попытался получить доступ к файлам в test каталог, он продолжал бросать 404. Если бы я переключил его на http вместо https, это сработало.

Я проверил access.log, и он показал следующее:

my.ip server.ip - [05/Jan/2010:01:33:08 +0100] "GET /test/index.html HTTP/1.1" 404 345 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6"

Таким образом, похоже, что, хотя я запрашиваю как https, он запрашивает файл как http. Мой document-root в lighttpd.conf есть /var/www, но для раздела ssl я установил его как /var/www/test, может быть тут конфликт? Должен ли я сделать их отдельными каталогами?

Я также пробовал сделать перенаправление, чтобы, предположительно, http-запросы в тестовый каталог отправлялись как https, но я не думаю, что это работает, возможно, я сделал это неправильно.

Вот соответствующая информация из моего файла lighttpd.conf, я был бы признателен за любую помощь, которую вы можете оказать. Спасибо.

$SERVER["socket"] == "some.ip:443" {
  server.document-root = "/var/www/test/"
  var.basedir = "/var/www/test/"
  ssl.engine = "enable"
  ssl.pemfile = "/etc/lighttpd/ssl/some.ip/server.pem"
}

$HTTP["scheme"] == "http" {
  url.redirect = ("^/(test.*)" => "https://some.ip/$1")
}

Файл /var/www/test/test/index.html существует? Если нет, то доступ /test/index.html с docroot из /var/www/test будет правильно выбрасывать 404. Попробуйте сохранить все одинаковым между vhosts HTTP и HTTPS и работать оттуда.