这是一个noob问题,但我需要在Java Web应用程序中使用SSL(使用Stripes实现其MVC实现,Spring和Hibernate的标准Java Web应用程序)需要什么?
我正在Tomcat 5.5上部署war文件。我只希望SSL用于某些URL - 任何传输用户密码的URL - 因此帐户注册,更改密码和登录。
我是否只需要获得SSL证书并将其安装在Tomcat中?如何确保https仅用于某些URL?
答案 0 :(得分:8)
我是否只需要获得SSL证书并将其安装在Tomcat中?
确实需要这样做,您需要配置安全连接器。
如何确保https仅用于某些网址?
recommendation用于加密表单提交(即使用相关表单中的绝对https://
网址action
),但还表单提交页面本身防止人在中间发作。
因此,在您需要的任何地方使用“安全”绝对链接,并使用web.xml
中的安全限制为特定内容强制执行SSL:
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Area</web-resource-name>
<url-pattern>/secure/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
答案 1 :(得分:2)
您可以将Filter
重定向到https://
以获取所需的网址。
答案 2 :(得分:2)
我是否只需要获得SSL证书并将其安装在Tomcat中?
The Tomcat manual有一个非常容易理解的如何设置ts的指南。
如何确保https仅用于某些网址?
这条逻辑需要在您的应用程序中。 Bozho的解决方案肯定会有效,如果您使用特定的Web框架,可能还有其他解决方案。
答案 3 :(得分:1)
是的,您需要SSL证书。它可以是自签名的,也可以由官方认可的认证机构颁发。
这是一篇关于Tomcat中SSL的一般设置以及如何修改部署描述符以启用SSL的好教程:http://www.jroller.com/gmazza/entry/setting_up_ssl_and_basic