我正嘗試使用lua腳本在支持SSL的服務器上檢索頁面。重要的是要注意,服務器有一個自簽名證書。由受信任的CA頒發的證書沒有問題。lua中的https請求
local https = require("socket.http")
local resp = {}
local r, c, h, s = https.request{
url = "https://my-server:443/example.php",
sink = ltn12.sink.table(resp),
protocol = "tlsv1"
}
服務器返回:
壞請求 您的瀏覽器發送的請求,該服務器無法理解。 原因:您正在向使用SSL的服務器端口說純HTTP。 請使用HTTPS方案訪問此URL。
而在服務器側,即請求產生在該條目中的Apache的ssl_access.log
192.168.0.150 - - [27/Nov/2011:16:32:07 +0100] "GET /" 400 529 "-" "-"
此外,tcpdump的顯示,SYN-ACK的握手之後,沒有SSL 257 Client Hello
被髮送。從瀏覽器或wget使用相同的URL可以正常工作。
我看到那個線程,但我希望找到更簡單的東西。就像LuaSec文檔中的[本例](http://www.inf.puc-rio.br/~brunoos/luasec/reference.html#request)一樣。該方法適用於可信CA頒發的證書,但不適用於自簽名證書。 – ripat
另一個壞消息是我的路由器上沒有足夠的內存來安裝LuaSec軟件包。 – ripat