我在apache tomcat中部署了一些Web服务,http和https都可以访问所有Web服务。我希望只通过https访问很少的Web服务,而不是http。是否可以在apache tomcat或cxf或spring框架中进行配置。
对此有任何帮助对我来说非常有用。
LOKESH
答案 0 :(得分:0)
要检查HTTP请求是否安全,只需致电ServletRequest.isSecure()
即可。然后在检查后,您可以重定向到仅安全版本,反之亦然。
以上所有内容都可以在很多地方完成,但根据我的口味,最简单的方法是编写一个servlet filter来透明地处理上述检查&重定向。
注意:如果您的Tomcat落后于Apache或负载均衡器并且SSL在此过程的早期被终止,则上述方法可能无效。
答案 1 :(得分:0)
在您的web.xml中将<transport-guarantee>
设置为CONFIDENTIAL
可让您对某些网页要求使用SSL。
看起来像这样:
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL forwarding</web-resource-name>
<url-pattern>/secured</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>
CONFIDENTIAL
</transport-guarantee>
</user-data-constraint>
</security-constraint>
希望这有帮助。