Ssl

Lighttpd 中的自簽名 SSL 證書導致 404

  • January 5, 2010

大家好,我想在我的伺服器上試用 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.htmldocroot訪問/var/www/test將正確地拋出 404。嘗試在 HTTP 和 HTTPS 虛擬主機之間保持一切相同,然後從那裡開始工作。

引用自:https://serverfault.com/questions/99426