Способ, которым вы должны это сделать, для вашего примера - метод .secure ().Он был добавлен в Play 1.0.3.2.
Таким образом, он будет выглядеть как
@{Secure.login().secure()}
Это специальный метод для объекта маршрутизатора, который изменяет URL-адрес с HTTP на HTTPS.Хотя в прошлый раз, когда я проверял, порт не изменился.Я поднял ошибку, но не уверен, что она еще не исправлена в основной ветке 1.2 (https://github.com/playframework/play/blob/master/framework/src/play/mvc/Router.java).
Причина этого в том, что play ожидает, что HTTP-сервер будет находиться напротив Play в производственной средеи обрабатывает HTTPS для вас, и передает через Play как простой HTTP-запрос. Цель .secure()
состоит в том, чтобы указать URL-адрес переключиться на HTTPS, но все же пройти через тот же домен.
Iне думайте, что есть много альтернатив (и ни одной, которые бы были хорошими и простыми).
Вы можете взять исходный код Play и изменить файл Router.java, чтобы он также изменился.номер порта (в безопасном методе).
Или вы можете написать FastTag, который имитирует Router.reverse (фактически то, что делает символ @), но замените номер порта набезопасный.