问题描述
现在有一个项目,前端用ngix配置了SSL,到了tomcat内部走的是HTTP,没配SSL这样的话,用户经过ngix到了工程这里,浏览器地址栏的地址还是HTTPS,这种模式现在遇到个问题例如我增加了一条信息,然后视图是redirectAction<result name="success" type="redirectAction">message_list</result>这里是删除执行完后再跳转到list查询列表,最终返回列表页。这时候浏览器的地址栏由原来的HTTPS变为了HTTP,原因应该就是SSL是在ngix那里配置的,struts是在内部做跳转,因为tomcat没配SSL,所以它跳转时就变HTTP了请问能否让它和原来保持一样,在跳转的时候是HTTPS经过测试,只有这种跳转Action才会这样。
解决方案
实在不行就把tomcat也配置上SSL,Struts可以到http://code.google.com/p/struts2-ssl-plugin/下载SSL插件
解决方案二:
<security-constraint> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> 可以强制将地址改为https,但会加上tomcat配置的端口号