【发布时间】:2011-10-30 14:10:54
【问题描述】:
我正在尝试在 tomcat 上部署我的 Java Server Faces 应用程序。我希望只能使用 HTTPS 访问该应用程序。我发现当我从一个页面移动到另一个页面时,应用程序会退回到 http。如果我在浏览器中修改 url 以使用 https,则会显示该页面。
我显然在某处缺少一些配置。谁能建议在哪里?
【问题讨论】:
我正在尝试在 tomcat 上部署我的 Java Server Faces 应用程序。我希望只能使用 HTTPS 访问该应用程序。我发现当我从一个页面移动到另一个页面时,应用程序会退回到 http。如果我在浏览器中修改 url 以使用 https,则会显示该页面。
我显然在某处缺少一些配置。谁能建议在哪里?
【问题讨论】:
你可以做两件事:
在 server.xml 中禁用 HTTP 连接器。
将此<security-constraint> 添加到您的 web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>Entire Web App</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。
【讨论】: