【发布时间】:2013-05-13 01:08:33
【问题描述】:
这个问题没有标记在 playframework 上,因为它很可能由具有强大 http 知识的人解决(并且这些用户倾向于跳过 playframework 问题)。
playframework 1.2.5 有如下 sn-p 代码
if (url.startsWith("http")) {
//
} else if (url.startsWith("/")) {
url = String.format("http%s://%s%s%s", request.secure ? "s" : "", request.domain, (request.port == 80 || request.port == 443) ? "" : ":" + request.port, url);
} else {
url = String.format("http%s://%s%s%s%s", request.secure ? "s" : "", request.domain, (request.port == 80 || request.port == 443) ? "" : ":" + request.port, request.path, request.path.endsWith("/") ? url : "/" + url);
}
这段代码碰巧破坏了我们的登录/注销,因为它重定向到 http,这是不正确的,因为即使我们的 playframework 是在 http 中,我们的 LB 对于用户来说也是在 https 中。为什么有人会有这个代码?相对 url 还不够重定向吗?
我注释掉了代码,现在我们的网站运行良好,但我仍然觉得为什么首先将这段代码放入 playframework 中?
任何想法、猜测都会很棒,或者如果你知道答案,那就更好了。
谢谢, 院长
【问题讨论】:
标签: http