tomcat - 302 服务器重定向 - 'Location' header URL 从 HTTP 更改为 HTTPS

标签 tomcat redirect http-status-code-302 security-constraint

我有一个在 Tomcat 上运行的 Java 网络应用程序,我正在尝试执行 302 重定向。

问题是:原始请求 URL 使用 HTTPS。我希望重定向 URL 改用 HTTP:

response.setHeader('Location', 'http://www.google.com');

出于某种原因,在使用 Wireshark 检查重定向包后,'Location' header 有' https://www.google.com ' 而不是。

是否有任何我可以更改的配置,以便 Tomcat 遵守我在 header 中设置的协议(protocol)?

最佳答案

您的 web.xml 是否具有类似于...的安全约束元素

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Secure Web Pages</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>

    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

这将强制您的 http 请求为 https。

关于tomcat - 302 服务器重定向 - 'Location' header URL 从 HTTP 更改为 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29038646/

相关文章:

java - 带有 Tomcat 插件的简单 Gradle 项目不起作用

amazon-web-services - 我可以配置 S3 静态站点以根据确切的 key 进行重定向吗?

python - 为什么 Django 的 HTTPResponseRedirect 对 PUT 使用相同的 HTTP 方法而不是 POST?

file - access to file to files tomcat的conf文件夹下的一个文件

java - Eclipse 错误上的 Tomcat Apache 6 服务器

java - 如何在 Eclipse 中运行 servlet?

php - 将加密形式的表单数据重定向到另一个域

javascript - 屏幕分辨率检测

redirect - 捕获 302 错误,然后在backbone.js 同步方法重写中重定向

apache - 使用 .htaccess 重定向