Проблема была не в Struts 2, хотя решение, опубликованное Umesh, также сработало бы.
В среде, в которой я работал, соединения SSL прерывались балансировщиком нагрузки до того, как он достиг внешнего интерфейса Apache.Это означало, что запрос AJP к Tomcat оказался HTTP, а URL-адрес перенаправления в ответе от действия перенаправления Struts был записан как HTTP.
Решение, которое я выбрал, было написать отдельный соединитель в файле tomcat server.xml.для соединений HTTPS, указав:
secure="true"
scheme="https"
proxyPort="443"