Servlets 在WebSphere6.1中强制使用Https
我想知道如何强制使用Http请求页面的用户使用安全https版本 我使用WebSphere6.1作为我的应用服务器,RAD7作为我的开发环境 谢谢Servlets 在WebSphere6.1中强制使用Https,servlets,https,websphere,rad,Servlets,Https,Websphere,Rad,我想知道如何强制使用Http请求页面的用户使用安全https版本 我使用WebSphere6.1作为我的应用服务器,RAD7作为我的开发环境 谢谢 DamienWebsphere不是一个完整的http服务器。它确实有“传输链”,其作用类似于HTTP服务器 通常,您将在前面放置一个HTTP服务器。IBM提供了IHS(IBM HTTP服务器),这是一个稍加修改的Apache HTTP服务器。HTTP服务器配置了httpd.conf文件。在这里,您添加重定向的方式是将http请求重定向到https 也
DamienWebsphere不是一个完整的http服务器。它确实有“传输链”,其作用类似于HTTP服务器 通常,您将在前面放置一个HTTP服务器。IBM提供了IHS(IBM HTTP服务器),这是一个稍加修改的Apache HTTP服务器。HTTP服务器配置了httpd.conf文件。在这里,您添加重定向的方式是将http请求重定向到https
也许您可以提供一些关于您的基础架构的详细信息。Websphere不是一个完整的http服务器。它确实有“传输链”,其作用类似于HTTP服务器 通常,您将在前面放置一个HTTP服务器。IBM提供了IHS(IBM HTTP服务器),这是一个稍加修改的Apache HTTP服务器。HTTP服务器配置了httpd.conf文件。在这里,您添加重定向的方式是将http请求重定向到https
也许您可以提供一些有关基础结构的详细信息。在应用程序中而不是在服务器配置中执行此操作的一种方法是使用(在web.xml中指定)检查
ServletRequest.getScheme()
是否为“http”或“https”,并将用户重新定向到适当的URL(使用HttpServletResponse.sendRedirect(字符串url)
)。在应用程序中而不是在服务器配置中执行此操作的一种方法是使用(在web.xml中指定)检查ServletRequest.getScheme()
是否为“http”或“https”,并将用户重新定向到适当的url(使用HttpServletResponse.sendRedirect(字符串url)
)。我同意。我认为使用筛选器可以实现这一点。下面是我为负载平衡和端口重定向编写的筛选器,但应该很容易找到如何编辑它以满足您的需要
公共类RequestWrapperFilter实现过滤器{
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
String requestWrapperClassName = (String) (httpRequest
.getAttribute(LoadBalancerRequestWrapper.class.getName()));
String initiatingServerName = httpRequest.getServerName();
if (requestWrapperClassName == null
&& initiatingServerName.equals(loadBalancerHostName)) {
httpRequest = new LoadBalancerRequestWrapper(AuthenticationUtil
.getHttpServletRequest(httpRequest));
}
filterChain.doFilter(httpRequest, httpResponse);
}
}
}我同意。我认为使用筛选器可以实现这一点。下面是我为负载平衡和端口重定向编写的筛选器,但应该很容易找到如何编辑它以满足您的需要 公共类RequestWrapperFilter实现过滤器{
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
String requestWrapperClassName = (String) (httpRequest
.getAttribute(LoadBalancerRequestWrapper.class.getName()));
String initiatingServerName = httpRequest.getServerName();
if (requestWrapperClassName == null
&& initiatingServerName.equals(loadBalancerHostName)) {
httpRequest = new LoadBalancerRequestWrapper(AuthenticationUtil
.getHttpServletRequest(httpRequest));
}
filterChain.doFilter(httpRequest, httpResponse);
}
}
}您可以在web.xml中添加以下条目,它将确保所有请求都转换为https
<!--********************************
*** SSL Security Constraint ***
*****************************-->
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!--********************************* -->
SSL
/*
保密的
您可以在web.xml中添加以下条目,它将确保所有请求都转换为https
<!--********************************
*** SSL Security Constraint ***
*****************************-->
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!--********************************* -->
SSL
/*
保密的