我的服务器上安装了 Apache,我需要从 http 重定向到 https。原因是我们的负载均衡器解决方案无法处理 https,因此请求通过 http 进入,然后我们使用 httpd.conf 文件中的以下几行将它们传输到 https。
<VirtualHost 10.1.2.91:80>
Redirect 302 /GladQE/link https://glad-test.com/GladQE/link.do
</VirtualHost>
这对于 GET 请求来说很有效,但 POST 请求将丢失 URL 上传递的参数。执行此重定向并保留 POST 参数的最简单方法是什么?
我需要从http://glad-test.com/GladQE/link.do到这里https://glad-test.com/GladQE/link.do维护 POST 参数
谢谢
汤姆
答案1
如RFC 2616 第 10.3 节,如果对 POST 请求的响应是重定向(301、302、303 或 307),则用户代理不得在新位置重复 POST。
重复 POST 的唯一希望是第一个响应返回一些 JavaScript,自动在新位置重新提交表单数据。
但是,考虑到您已经通过明文 HTTP 泄露了表单数据,通过 HTTPS 继续会话确实没有什么意义。您确实应该早点开始,并通过 HTTPS 向用户展示初始表单。