`
sillycat
  • 浏览: 2552827 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

apache反向代理问题

    博客分类:
  • JAVA
阅读更多
apache反向代理问题

今天早晨一个兄弟晕倒了apache2.2和tomcat6.0.18的反向代理问题,session保持不住,刷新页面的时候session不断的被创建。
写了个简单的工程做测试。这个简单工程从朋友那里收到的。他喜欢用servlet。。。。汗
web.xml的配置:
<servlet>
    <description></description>
    <display-name>CreateServlet</display-name>
    <servlet-name>CreateServlet</servlet-name>
    <servlet-class>com.temp.CreateServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>CreateServlet</servlet-name>
    <url-pattern>/CreateServlet</url-pattern>
</servlet-mapping>
<servlet>
    <description></description>
    <display-name>TempServlet</display-name>
    <servlet-name>TempServlet</servlet-name>
    <servlet-class>com.temp.TempServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>TempServlet</servlet-name>
    <url-pattern>/TempServlet</url-pattern>
</servlet-mapping>

两个servlet的代码,CreateServlet.java:
package com.temp;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class CreateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public CreateServlet() {
   super();
}
protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
   HttpSession session = request.getSession(false);
   // 不创建,看是否有session
   if (session == null) {
    // 没有才创建
    session = request.getSession(true);
   }
   session.setAttribute("username", "aaaaaaa");
   System.out.println(session.getId());
   response.sendRedirect("TempServlet");
}
protected void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
   doGet(request, response);
}
}
TempServlet.java
package com.temp;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class TempServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public TempServlet() {
   super();
}
protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
   HttpSession session = request.getSession(false);
   // 坚决不创建session
   System.out.println(session.getAttribute("username"));
   System.out.println(session.getId());
}
protected void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
   doGet(request, response);
}
}
访问index.jsp页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="CreateServlet">aaa</a>
</body>
</html>
apache的反向代理配置如下,首先打开#module的几个开关
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
不知道多开没有,上次配置了2.2上的loadbalance的。
最下方他配置的
ProxyPass              /temp http://localhost:8080/Temp
ProxyPassReverse   /temp http://localhost:8080/Temp

访问http://localhost/temp后,不断刷新页面,出现了sessionId打印每次都不一致的问题。
后来修改了配置,改为
ProxyPass              /temp http://localhost:8080/temp
ProxyPassReverse   /temp http://localhost:8080/temp
再次访问,不断刷新页面,session保持住了,sessionId每次都一致。
看来这个大小写还是比较重要:)

所谓反向代理,可能是要求这个前面的/path后后面的/path是要保持一致的? 不是很确信。注意一下这个问题,以后再查查资料看。
分享到:
评论

相关推荐

    apachec反向代理使用的问题

    反向代理反向代理反向代理反向代理反向代理反向代理反向代理反向代理反向代理

    apache反向代理和负载均衡总结

    ### Apache反向代理与负载均衡深入解析 #### 引言 Apache是一款广泛使用的Web服务器软件,不仅能够处理静态页面,还支持动态内容处理,并具备多种高级功能,如反向代理和负载均衡。本文将深入探讨Apache反向代理与...

    apache 反向代理实现 负载均衡

    Apache反向代理是一种网络服务器配置技术,用于将客户端请求转发到后端服务器集群,从而实现负载均衡。在高流量网站或应用中,反向代理能够有效地分发流量,提高服务的稳定性和响应速度,同时也提供了更好的可扩展性...

    Apache反向代理

    Apache反向代理

    linux apache反向代理配置

    linux apache反向代理配置,写的有点乱,但是可以用,里面有说明文档 先弄 apache和tomcat整合 把80端口给apache 举例 tomcatA 8080 tomcatB 8081 在apache的httpd.conf里写反向代理,用户名指向tomcat的端口,具体...

    apache反向代理+负载均衡.txt

    Apache负载均衡和反向代理配置文件开启的模块及代码配置方法。。。。。。。。。。。。。。。。。。。

    apache反向代理安装配置

    介绍如何使用apache进行反向代理的配置,以及配置中遇到的一些问题如何解决

    linux下安装apache的及反向代理配置完整过程

    Linux 下安装 Apache 及反向代理配置完整过程 Linux 操作系统下安装 Apache 服务器是一件复杂的任务,需要逐步完成多个步骤。本文将详细介绍 Linux 下安装 Apache 及反向代理配置的完整过程。 安装 Apache 安装 ...

    apache反向代理weblogic

    以上就是Apache反向代理WebLogic的基本步骤和关键知识点,通过这种方式,你可以构建一个高效、安全的Web应用架构。在实际部署中,还需要考虑更多的细节,如SSL证书配置、安全策略、性能调优等。

    配置Apache双向认证和反向代理(Apache+配置文档)

    windows下配置Apache双向认证和反向代理(Apache+配置文档)

    apache tomcat 反向代理502错误.txt

    apache tomcat 反向代理,http502错误,百度搜的解决不了问题 a.com 可以访问,www.a.com 无法访问http502错误

    用apache配置反向代理服务器

    ### 使用Apache配置反向代理服务器 #### 一、反向代理的基本概念 反向代理(Reverse Proxy)是一种网络架构模式,其中代理服务器接收来自互联网的请求,并将其转发给内部网络中的真实服务器。处理完请求后,代理...

    apache反向代理

    ### Apache反向代理知识点详解 #### 一、测试环境与网络结构 在开始之前,我们需要了解测试环境的具体配置。本文采用的是Redhat Linux 7.2操作系统,搭配Apache 1.3.24版本,假设公司的域名为company.com。网络...

    IIS与Apache反向代理

    【IIS与Apache反向代理】是指在一台服务器上,结合使用Microsoft的Internet Information Services (IIS) 和Apache HTTP Server,实现两者之间的协同工作,通过反向代理技术将请求分发到不同的服务环境中。...

    Apache反向代理及负载均衡部署文档

    ### Apache反向代理及负载均衡部署详解 #### 一、Apache与IIS的反向代理和负载均衡背景 随着互联网应用的不断扩展和技术的发展,如何有效地处理大量的并发请求成为了一个重要的问题。在这种背景下,反向代理和负载...

    Apache+SSL安全反向代理配置案例

    【Apache+SSL安全反向代理配置案例】 Apache作为一款广泛应用的开源HTTP服务器,常常被用于构建网站服务。SSL(Secure Socket Layer)则是提供网络安全传输的一种协议,常用于加密通信,确保数据在传输过程中不被...

Global site tag (gtag.js) - Google Analytics