我的系统正在通过 lighttpd 运行 play 框架。我需要知道来自 Facebook 的请求是来自 https 还是 http。
两个问题:
有什么方法可以让我在我的框架中判断原始请求是来自 http 还是 https?(我检查了 request.secure,但它总是错误的)
如果框架没有给我任何方法来检测这一点,我是否可以使用 mod_rewrite 将 ssl=true 添加到查询参数?
答案1
我自己还没有尝试过,但是根据这次讨论你应该添加
RequestHeader set X-Forwarded-Proto "https"
到您的虚拟主机。Play 将看到此信息并将 request.secure 设置为 true,即使到达 Play 实例的流量已被解密。