我正在尝试使用 lua 脚本在启用 SSL 的服务器上检索页面。需要注意的是,服务器具有自签名证书。由受信任的 CA 颁发的证书没有问题。
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 可以正常工作。