Tomcat SSL POST请求重定向

时间:2012-12-18 17:29:44

标签: tomcat ssl

我在Tomcat下设置了SSL,并且某些URL的端口重定向从http到https(使用安全约束)。   重定向有效,但所有原始POST http请求都被重定向为GET,因此原始POSt请求中的所有参数都将丢失。

如何配置连接器以将POST请求重定向为post?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

依靠重定向将每个http://链接升级到https://通常是不好的做法:这很容易受到MITM攻击。理想情况下,您应该仅为您的用户提供https://链接(可能使用HSTS)。 (请参阅Webmasters.SE上的this question。)

升级重定向主要用于降低风险(假设首先没有MITM攻击者),并让用户习惯看到https://。他们最终是唯一能够检查使用HTTPS的人。从您的角度来看,请确保您所有自己的HTTPS部分链接直接使用https://,并且不要依赖这些重定向。 (出于这个原因,我建议不要在开发过程中启用http-> https重定向,并使HTTP地址等同于那些仅用于HTTPS的HTTP地址返回404:至少你是这样的。知道它什么时候打破。)

回到问题的核心,您肯定会遇到Post/Redirect/Get pattern,这可能被视为与HTTP规范不兼容(取决于它的实现方式和重定向代码)你正在使用)。

除了关于Post / Redirect / Get模式的正确性或有用性的可能争论之外,你应该通过不使用重定向但直接POST到https:// URI来解决这个问题(它通常更好在您使用HTTPS后,使用您网站中的相对网址。请记住,POST的内容将在第一个请求中发送(在从服务器获得重定向之前),因此窃听者可以看到它,从而使得使用HTTPS毫无意义(因为它不会在那里使用) )。

相关问题