繁体   English   中英

将所有HTTP请求重定向到HTTPS请求,而无需更改代码

[英]Redirect all HTTP request to HTTPS request without code change

我的Web应用程序在共享服务器(Websphere)中运行,现在我的应用程序同时针对HTTP和HTTPS request运行。 通常,当应用程序运行时,它显示如下https:// localhost:9443 / index.jsp 如果用户尝试将https更改为http并提交请求,则服务器将接受该请求。 我需要避免这种情况,并使应用程序仅支持应用程序级别的https请求。 有人可以帮助我。

<security-constraint>
<web-resource-collection>
    <web-resource-name>https</web-resource-name>
    <description>No Description</description>
    <url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
    <description>No Description</description>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>

在您的web.xml中添加上面的user-data-constraint 这会将所有http请求重定向到https

拒绝用户非https连接的另一种方法是简单地删除http传输链。 转到应用程序服务器>服务器> Web容器传输链,选择WCInboundDefault并单击删除。 现在只剩下WCInboundDefaultSecure传输链,该传输链在SSL端口上侦听。

另一个同样有效的替代方法是在虚拟主机> default_host>主机别名中为非https端口删除主机别名-这感觉像是一个不太残酷的配置更改:)

如果您更喜欢重定向而不是限制,建议您在访问应用程序服务器之前先执行此操作,例如在Web服务器或负载平衡器上。 如果在WAS之前使用Apache HTTP服务器或IBM HTTP Server,则可以使用mod_rewrite管理重定向。

验证是否在WebSphere管理控制台中同时启用了全局和应用程序安全性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM