Lighttpd 中的自签名 SSL 证书导致 404 错误

Lighttpd 中的自签名 SSL 证书导致 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-rootlighttpd.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")
}

答案1

该文件是否/var/www/test/test/index.html存在?如果不存在,则/test/index.html使用 docroot进行访问/var/www/test将正确抛出 404。尝试保持 HTTP 和 HTTPS 虚拟主机之间的所有内容相同,然后从那里开始。

相关内容