Apache反向代理Tomcat

Apache反向代理Tomcat

环境

osWindows 10

Apache2.4.29

Tomcat8.0.30

Apache下载

Windows版本下载地址:https://www.apachehaus.com/cgi-bin/download.plx

Apache反向代理Tomcat_第1张图片

Apache安装

下载完成后,解压到自定义路径下即可。


目录结构:

Apache反向代理Tomcat_第2张图片

Apache配置

httpd-vhosts.conf配置

Apache安装路径下的conf/extra/httpd-vhosts.conf配置文件中添加下面内容:

 #监听的服务器和端口
    ServerAdmin [email protected]
    DocumentRoot "C:/Users/Admin/Desktop" #静态资源目录
    ServerName localhost #域名
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
    ProxyPreserveHost On
    ProxyPass /ds-apache-web/ http://192.168.6.251:8082/ds-apache-web/ #反向代理的地址
    ProxyPassReverse /ds-apache-web/ http://192.168.6.251:8082/ds-apache-web/ #反向代理的地址

httpd.conf配置

Apache安装路径下的conf/httpd.conf配置文件中,把下面内容前面的注释去掉即可:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Include conf/extra/httpd-vhosts.conf

Listen 80 #Apache监听的端口
ServerName localhost:80 #Apache服务地址和端口

启动Apache

打开cmd,切换到apache安装路径下的bin目录中,执行httpd.exe文件即可。

测试代码

a)新建maven项目;

b)编写控制器;

package com.dscomm.apache.ctrl;

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/index")
public class IndexController {

	@RequestMapping("/toIndex")
	public void toIndex(HttpServletResponse response) throws IOException {
		response.sendRedirect("https://www.baidu.com");
	}
	
}

c)配置web.xml



	Archetype Created Web Application
	
	
		contextConfigLocation
		classpath*:/spring/spring-*.xml
	
	
		org.springframework.web.context.ContextLoaderListener
	

	
	
		springmvc
		org.springframework.web.servlet.DispatcherServlet
		
		
			contextConfigLocation
			classpath:/spring/spring-mvc.xml
		
		
		1
	
	
		springmvc
		
		
		
		/
	

	
	
		characterEncodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
		
			encoding
			UTF-8
		
		
			forceEncoding
			true
		
	
	
		characterEncodingFilter
		/*
	
	
	
	
	
		403
		/resources/page/page_403.html
	
	
		404
		/resources/page/page_404.html
	
	
		500
		/resources/page/page_500.html
	
	

d)在resources目录下添加spring/spring-ctrl-apache.xml配置文件;



	
	
		
		
	

e)在resources目录下添加spring/spring-mvc.xml配置文件;




	
	
	
	
	
	
	
		
			
			
				
					
						
						text/html;charset=UTF-8
						application/json;charset=UTF-8
					
				
			
		
	

f)配置pom.xml

引入servlet jarspring基本jar包即可。

测试代理

访问监听的服务器和端口,上面配置的是192.168.6.251:80

访问地址:http://192.168.6.251:80/ds-apache-web/index/toIndex

测试结果:该请求会重定向到百度。

说明:该请求地址会被代理成http://192.168.6.251:8082/ds-apache-web/index/toIndex,然后IndexController控制器又重定向到https://www.baidu.com

说明

对Apache配置项不理解的可以参考下面的三篇博客。

参考博客

Apache2.4+Tomcat9.0配置反向代理》

apache配置动静分离,允许跨域,并在反向代理的情况下维持默认主页》

apache ProxyPass ProxyPassReverse概述》


你可能感兴趣的:(Apache)